Blog

The latest iPad news that we find interesting, plus some tidbits on the development and release process



26
Jul 10

Version 1.0.2 in the App Store

fireworks

The version we submitted to the App Store last week has been approved and is waiting for you to download. This fixes some bugs and makes My Newspaper much more stable. Go get it now! Changes are:

  • CSS changes in feed html to make them more readable (blockquotes, etc)
  • better image resizing
  • removed some formatting on summary to show more of the story
  • better error handling when rendering feeds for reading
  • fixed bug to handle malformed feeds with no source
  • fixed bug that was causing crashes when to many requests to sync with Google Reader were opened at one time
  • fixed bug that would cause stall on application open when trying to open to previous page and a touch was detected

We should finish Instapaper and Read It Later support very soon (like today) and will put that in for approval so expect another update in one week! Sections based on your Google Reader folders after that!



23
Jul 10

Google Reader stripping ‘feed name’ from some feeds

On Friday, Google Reader stopped providing ‘feed name’ for some feeds. (Gizmodo, Huffington Post – Books are examples) This is causing the page to fail to display when one of these stories is on the page. This has been fixed in the version awaiting approval in the App Store – we expect approval on Monday as that will be 7 days in the queue – but will cause grief over the weekend. Sorry! We can email out patches as well if you need your Newspaper this weekend! support@mynewspaperforipad.com



20
Jul 10

Finding Performance Bottlenecks: Titanium Mobile for iPad

No matter how you are developing in iOS, the performance in the iPhone / iPad Simulator differa greatly to the performance on the actual hardware. XCode has some great debugging tools for identifying where the differences are so you can fix them.

We are using Titanium Mobile to build My Newspaper. It has saved us tons of learning and development time, but the tools for debugging performance when running on the actual iPad hardware are lacking. We would notice things taking longer on the iPad, but what was it? The database? html rendering? image placement? We had no way of knowing.

Titanium has identified that they need to improve debugging in the next version of Titanium Developer and are working on a more complete debugging framework. We are looking forward the new framework, but it was pretty easy to ‘roll our own’ temporary framework to identify bottlenecks in My Newspaper.

We started by creating a new tracer.js file that we could include in both our js and html files. It is a simple class with only one method:

var TRACER_ENABLED = true;

function Tracer( myName ){

 if( TRACER_ENABLED ){
  var name = myName;
  var startTime = (new Date()).valueOf();
 }

 this.trace = function( msg ){
  if( TRACER_ENABLED ){
   var dateTemp = new Date();
   var elapsed = dateTemp.valueOf() - startTime;
   Ti.API.debug( name + "\t" + startTime + "\t" + elapsed + "\t" + msg );
   // fire an event to make the UI update
   Ti.App.fireEvent( 'tracer.trace' , {
    name : name,
    id : startTime,
    elapsed : elapsed,
    message : msg
    });
  }
 };
}

First, we set an overall variable TRACER_ENABLED that we can turn off for production. Not ideal to change code when deploying an app for the store, but we wanted to be able to have tracing on when distributing adhoc to some beta testers.

You invoke a new tracer using:

var myTracer = new Tracer('myname');

Setting a name helps you identify a filter in the UI later.

To trace a step, just use the trace method:

myTracer.trace('some message');

This will show the message as a debug message in the console with:
- the name of the tracer
- the time it started (you may have multiple tracers with the same name)
- time elapsed
- and the message

To see all the traces on the device when running, we added a UI in another JavaScript file: tracerui.js

var textarea;
var traces = [];

function loadTraces( chosenid ){
  var tempString = "";
  for( var i = traces.length - 1 ; i >= 0 ; i-- ){
    var id = traces[i].name + " " + traces[i].id;
    if( id == chosenid | chosenid == 'all'){
      tempString += traces[i].name.lpad(" ", 12) + "\t" + traces[i].id + "\t" + traces[i].elapsed.toString().lpad(" ", 6) + "\t" + traces[i].message + "\n";
    }
  }
  textarea.value = tempString;
}

if( TRACER_ENABLED ){

  var winTracer = Titanium.UI.createWindow({
    backgroundColor:'#fff',
    title:"tracer"
  });

  var winTracerClose = Ti.UI.createButton({
    title:'close'
  });

  winTracerClose.addEventListener('click' , function(){
    winTracer.close();
  });

  winTracer.rightNavButton = winTracerClose;
  winTracer.addEventListener('open', function(){
    var pickerString = "all";
    var pickerData = [];
    // put on a row to show all
    pickerData.push( Titanium.UI.createPickerRow({title:'all',selected:true}) );
    for( var i = traces.length - 1 ; i >= 0 ; i-- ){
      var id = traces[i].name + " " + traces[i].id;
      if( pickerString.indexOf(id) == -1 ){
        pickerString += "," + id;
        pickerData.push( Titanium.UI.createPickerRow({title:id}));
      }
    }
    var picker = Titanium.UI.createPicker({
      top:0,
      height:200
    });
    picker.add( pickerData );
    picker.addEventListener('change' , function(e){
      loadTraces(e.selectedValue[0]);
    });
    winTracer.add( picker );
    textarea = Titanium.UI.createTextArea({
      top:260,
      borderStyle:Titanium.UI.INPUT_BORDERSTYLE_ROUNDED,
      font:{fontFamily:'Courier',fontSize:10}
    });
    winTracer.add(textarea);
    loadTraces( 'all');
  });

  Ti.App.addEventListener('tracer.trace' , function(e){
    traces.push(e);
  });
}

This is just a simple UI with a picker and a textarea to allow us to see all the traces or filter down to a specific named trace using the picker:

Titanium Mobile iPad Tracer

Titanium Mobile iPad Tracer

We keep all the traces in memory in the array ‘traces’. When the picker changes, we sort through them and put the results in a textarea.

Now we just need to add a button to open the tracer window somewhere in the app:

if( TRACER_ENABLED ){
  var buttonTracerWindow = Ti.UI.createButton({
    title:'trace',
    left:500,
    top:10,
    width:45,
    height:30
  });
  buttonTracerWindow.addEventListener('click' , function(){
    winTracer.open({modal:true});
  });
  win.add( buttonTracerWindow );
if( TRACER_ENABLED ){

I realise this is very quick and dirty, but it has helped us identify what functions are fast on the iPad and what we will change. If you are looking for a quick, easy way to figure out what is slowing you down in the real world, this will remove any guessing.



19
Jul 10

Version 1.0.2 awaiting approval

We have put in some bug fixes and small improvements to My Newspaper today based on your feedback. The summary is:
- CSS changes in feed html to make them more readable (blockquotes, etc)
- better image resizing
- removed some formatting on summary to show more of the story
- better error handling when rendering feeds for reading
- fixed bug to handle malformed feeds with no source
- fixed bug that was causing crashes when to many requests to sync with Google Reader were opened at one time
- fixed bug that would cause stall on application open when trying to open to previous page and a touch was detected

Seems like it is taking about one week to get approval so I expect it will be available for download next week.

This release should make the app much more stable for everyone and give us time for some NEW features! Stay tuned…



10
Jul 10

Version 1.0.1 Approved and in the App Store!

We got this out as soon as we were notified of some bugs on release:
- Quick fix for special characters in Google Reader credentials
- Better performance saving thumbnail images of pages

Currently working on some bug fixing that is causing crashes when marking lots of items ‘read’ and some other bugs which we hope to submit to the app store late next week. After that: Sections, Instapaper and lots of sharing!



04
Jul 10

Version 1.0.1 is awaiting approval

Firstly, THANK YOU for a great first weekend for My Newspaper. We are glad so many people from around the globe are enjoying it! We reached #13 in the ‘News’ category in the App Store after just 3 days!

We have submitted a bug fix patch to Apple to fix some issues with Google Reader accepting passwords with special characters. Sorry if you have been affected. If you have, email us at support@mynewspaperforipad.com and we can email you a fix.

If you have any suggestions for new features or are having any other trouble, please email us at support@mynewspaperforipad.com to let us know!

P.S. We also LOVE positive ratings in the app store! Just go to our product page in the App Store and add one!



01
Jul 10

My Newspaper RSS Reader for iPad with full Google Reader Sync now available in the App Store

We are thrilled to announce version 1.0 of My Newspaper for iPad is now available in the iTunes App Store.

With full Google Reader Sync of unread and starred item plus a friendly layout, we think My Newspaper is the best RSS Reader available for iPad.

You can now enjoy reading your daily news and still be confident that you won’t miss anything since your items will sync back to all your other readers.

A refreshingly clear layout shows you the top stories first (using PostRank™ technology) so you can focus on the most important news.

From the moment you see the first page of My Newspaper you’ll see how uniquely smart and simple it is.

Get it now! ยป

Let us know if there are any features you would like added for the next version!



24
Jun 10

My News Pad is now My Newspaper for iPad

We have submitted version 1.0 for approval to the App Store! However, to keep the powers that be happy, we have changed our name to My Newspaper for iPad. We will still have the same great features. If you are interested, this is the description we submitted to the app store:

My Newspaper is a game-changing new app that gives you your very own custom newspaper from your Google Reader feeds. You’ll get full Google Reader sync of unread and starred items so you can be confident that you won’t miss anything. One fetch gets all your news in seconds so you won’t be waiting around while your feeds are loading. A refreshingly clear layout shows you the top stories first (using PostRank technology) so you can focus on the most important news. Reading your feeds feels less like a chore and more like casually enjoying your favorite newspaper. From the moment you see the first page of My Newspaper you’ll see how uniquely smart and simple it is.

Full Feature List

  • Google Reader Integration of Feeds, Unread and Starred Items
  • Single Fetch to get all your latest news in seconds
  • Your choice of sorting including PostRank to show the most important news first
  • Built in web browser so you don’t need to leave My Newspaper to see original sources

For more information, visit us at http://www.mynewspaperforipad.com

I hope we get approval soon!



02
Jun 10

Screenshots

Hi all. We are just starting our Beta testing. Here are some screenshots:

iPad RSS Reader Select News

My News Pad: iPad RSS Reader

iPad RSS Reader



31
May 10

People are reading on the iPad

An interesting article in The Age (Melbourne) about how Australian media companies are embracing the iPad. They quoted some interesting stats:

A small US survey last week of iPad owners, by research company ChangeWave, found that half read newspapers on their device, compared with 14 per cent of those on all other e-readers. Almost 40 per cent of iPad owners used the device to read magazines, as against 11 per cent on other e-readers.

I must say that our iPad (soon to be iPads) are mostly used for reading. The biggest limitation is the lack of books available – both in the iBooks store and Kindle store. It feels like the early days of video and music online where you had to hunt to find the right stuff.

I’m sure over the next couple years this will change and you will be able to get all types of content on the iPad and other ‘tablet’ devices that come out.

 


Available in the iPad App Store

★★★★★ - The best feed reader available

The layout and graphics are far superior to any other reader. I've purchased at least 6 of the top rated readers and none can match My Newspaper. A must have for the iPad

RL1
Jul 10 2010
USA App Store

★★★★★ - Wow

I took a chance on this app and it was worth it. Makes goggle reader worth the effort. Looks wonderful on the iPad and makes for a great reading experience

jmbrogers
Jul 2 2010
USA App Store

More Reviews » Subscribe