Offline Browser for Windows Phone
Offline Browser for Windows Phone
Join the DZone community and get the full member experience.Join For Free
Here is some good news:
finally my Windows Phone application Offline Browser is available for download in the Windows Phone Marketplace!
Offline Web Browser? But who needs that?
Well actually i do. To be honest app was created (as many other apps) in order ‘to scratch an itch‘.
I’m an old information junkie and while traveling to work i like reading books and surfing the web, but often i don’t have internet connection or its very slow (for example when I’m in the subway).
Although there are many excellent E-Book readers for Windows Phone (one of the best is for sure Freda) i could not find a single offline internet web browser that would allow me to save full content of web pages to my phone and read them later when I’m offline.
This is how idea for Offline Browser for Windows Phone was born.
Here are some of Offline Browser current features:
- save to your phone full content of web pages (HTML content with all images, CSS Style Sheets, JScript etc)
- later view all saved pages even when you are offline
- all links between saved pages work even when you are offline
- save all the links that are on current page with one click (useful for online news/magazines that have many links to related content)
- long tap gesture on link/image shows context menu with additional options for that link/image
- automatic retrieval of links for download queue by adding RSS or Atom feeds as source (add your Instapaper or Delicious or any other feed)
- download all queued links by Sync option
- change Browser User Agent (mobile or desktop Internet Explorer, IPhone or any other custom string)
- save pages via Mobilizer service (Instapaper, ReadItLater, Google Mobilizer etc)
- page scroll position is preserved so when you later open saved page its scrolled down exactly where you were last time
- its simple to use and can completely replace built in Internet Explorer browser since its uses same page rendering engine but adds more features
So now that we have an overview of what the app does, lets see how it looks and works:
The main browser page
First and main application screen is the Browser page and this is where most of the magic happens:
As you can see UI is minimal.
I wanted to be able to focus on the page I’m currently viewing and not on the UI elements of the app.
Its very similar to the stock phone browser and icons do not cover too much of the screen space.
The main feature of the app is the Save button at the bottom of the page (annotated in the screenshot with the red arrow).
By pressing this button the whole page is downloaded to the phone with all the content including images etc.
Sliding Menu on the bottom of Browser page:
When we click on the three dots in the lower right corner the sliding menu appears at the bottom with links to the other pages in the app and additional options available for this web page.
Browser Context Menu
When we do a long tap on any link or image on the web page a context menu appears with additional options available for link/image.
We can save all the links pointing to the same domain and share the link URL over phone email or social networks accounts.
Images can be saved to the phone Media Library.
Also you can add link as your link feed URL. So you can just long tap on some RSS/Atom feed URL and add it as a source for new links for your download queue. More on this feature later in this post.
Similar context menu appears when you long tap (hold) somewhere on a page – but with slightly different options that are available for current page.
Same menu can be invoked also from the bottom sliding menu when clicked on three dots icon.
Saved Web Pages screen:
All saved pages are displayed and managed on this screen. You can see a list of your downloaded web pages sorted by date in descending order.
Filter box on top can be used to narrow down a list to some specific pages if you have a lot of them.
On this screen you can long tap on a page in the list to get context menu with options for that specific page like Delete, Delete All and View.
By just clicking on a page you are taken to the browser screen and full content of this page is loaded from the phone storage without the need of internet connection.
So how do we automate this thing?
Yes i know, I’m also lazy. I don’t like having to go into the mobile app, browsing websites on the phone and saving pages for later viewing or typing long URLs.
So i came up with this solution:
When I’m at my desktop computer and i see a web page I want to read later on my phone i add it to my Instapaper.com reading list or i bookmark it under special tag in my Delicious.com account.
Then i copy URL of these RSS feeds from Instapaper account or Delicious.com to Offline Browser application settings page as Link Feeds and these feeds will be used as source for new links that i will later download to my phone.
Here is how it looks in the application settings page for the Link Feeds:
You can switch on/off background retrieval of the links from the feeds and you can set how often synchronization is performed.
Below you can manually add more Link Feeds by typing their URL or pasting it into the text box.
Its important to note here that if you switch on this option then feeds are synced in the background tasks even when your app is not running.
Due to limitations in Windows Phone Background Tasks application does not sync full content of the pages from those URLs but only fetches their URLs and adds them to the download queue.
You can then see those links in the Download Queue page and download them all just by clicking on the Sync button.
Application tile counter
When you are using background syncing of Link Feeds, application fetches new URLs in the background and notifies you via Toast notification and via Application Tile counter like this:
Here application has downloaded new links from all the Link Feeds and its showing us that there are 5 new web pages to be downloaded.
When we have some pages in the download queue then on application start we are immediately taken to the Download Queue page:
This can be configured in the settings so that you are not redirected here when there are links in the queue so you can choose whats more logical for you.
Once we click the sync button on the top of the page, application starts downloading all the web pages from the download queue and saves them to phone.
Once they are downloaded you can access them from the Saved Pages screen.
Browser User Agent settings
Another feature of the app is that you can choose in Settings the Browser User Agent String to be used when browsing and downloading web pages:
You can pick one of the existing browser User Agent Strings like Mobile or Desktop Internet Explorer or IPhone or simply choose Custom and enter or copy/paste your own User Agent of choice.
Before going to sleep
So this was just a short introduction on what this handy application is and and what it can do.
If you want to test it go to the marketplace and download a trial version of Offline Browser (its fully functional trial with ads) and give it a try.
If you really find it useful well you might as well buy it, right?
In my upcoming blog posts i will explain some of the less visible features like how saving of page scroll position works etc.
Also expect some Windows Phone programming posts since i have a lot of tips and tricks to share so stay tuned and happy offline browsing!
Published at DZone with permission of Slobodan Pavkov , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.