Nici

Technical Features

Index



Download Engine

Nici uses an HTTP client engine which was developed by us, specifically for downloading pictures efficiently. Nici does not use system components (like the client side Windows Wininet or server side WinHTTP), which gives us full control over HTTP requests and HTTP state management.

  • Nici will do range requests to continue downloading a picture if a server blocking mechanism only responds with partial content.
  • Nici manages all cookies itself, and only sends cookies that are necessary to avoid server blocking mechanisms, Nici deletes all cookies each time it is closed. Unlike programs that use the Windows system components; Wininet or WinHTTP, no cookies are placed in your web browser's cookie jar.
  • Nici can abort HTTP transfers if it detects the response is the wrong content-type.
  • Nici uses short timeouts, and will automatically retry timeout errors only if a number of transfers have been successful from that server.
  • Nici uses out-of-order processing so that if it is already downloading from one server, it will attempt to download from a different server.
  • Nici uses green threads to simultaneously download between 2 and 4 HTTP resources. Some programs may claim that they have 50 or 100 simultaneous downloads, however our testing has confirmed that Nici's approach of 2-4 simultaneous downloads with out-of-order processing is far more efficient and results in more pictures downloaded. The reason is that it minimizes both network errors and the chance of server blocking mechanisms kicking in, which in turn minimizes the number of network operations required.
  • Nici logs HTTP request and response headers so the user can inspect what was sent and received for each download.
  • Nici does its own caching. By not using the Windows system components; Wininet or WinHTTP, pages and pictures that you download are not placed in your system's cache folders.

Benefits:

  • High performance downloading using a minimum of network operations.
  • Independent of system components which keeps cookies, cache files and history separate from system and web browser files.


Download Line

Nici uses a download line, which functions like a queue, to which web page url addresses can be added for downloading. Nici works down the line processing between 2 and 4 pages simultaneously.

Using a queue enables the user to continuously download pictures while viewing other pictures. Nici can process the queue without requiring any user intervention or input. This enables the user to queue many pages and leave Nici running in the background.

  • Nici has full support for on demand dial-up networking connections and permanent connections.
  • Nici performs its own checks to determine if a network connection is present or if the network connection has broken. If a consecutive number of network operation errors reaches a threshold, Nici will do HTTP HEAD requests to a number of large servers to confirm the actual status of the connection. If the connection has been broken Nici will stop processing the download line.
  • As pictures are downloaded, a thumbnail of the last downloaded picture is displayed.
  • The user can skip downloading the remaining pictures on a specific page if they do not like the pictures that are being downloaded.
  • The user can tell Nici to place a specific page at the front of the download line so that it will be downloaded immediately.

Benefits:

  • Nici's download line frees you from constantly having to click on links to see pictures.
  • Spend a couple of minutes adding a heap of pages, come back in an hour, and look through a heap of pictures.


HTML Analysis

Nici uses our own proprietary HTML parser. Nici does not use system components, like Windows MSHTML, to parse HTML. This gives us control over the safety and privacy risks associated with parsing HTML. By not using MSHTML, Nici is immune from current and future exploits and annoyances associated with parsing HTML, HTML extensions and scripts.

Nici analyzes the HTML to identify the links that are most likely to lead to images. When using the default Nici-Quick download strategy, it adapts the analysis according to how deep it is crawling, allowing it to efficiently bypass thumbnail images, and download the image or page that the thumbnail image is linked to. This means that Nici will only require one, at most two, network operations to download the actual image versus up to 10 or 20 if all the links are systematically crawled.

Using the default Nici-Quick download strategy, and because Nici only downloads links that are likely to lead to pictures, Nici can do direct GET HTTP requests first up, only falling back to HEAD/GET request pairs if it finds that the analysis is incorrect for a particular page. For most pages, this cuts in half the number of network operations required.

For certain kinds of pages, Nici examines link url addresses and can extract and decode any embedded server-side redirections. This helps to avoid trick redirections, and provide more accurate information to the user as to where the link goes.

Benefits:

  • Analysis is performed in a safe environment, immune from current and future exploits directed at Microsoft components.
  • Selective link following minimizes network operations and maximizes picture downloads.


Nici-Quick Download Strategy

The Nici-Quick download strategy is Nici's default web-crawling model. The Crawl download strategy, a traditional systematic web-crawling model, is also available as a backup model.

The download strategy controls the selection of links that will be downloaded. The Nici-Quick download strategy goes one step further and categorizes the pages that it downloads.

There are two main categories of pages that Nici-Quick recognizes;

  • Picture pages: pages that are a source of images. Nici-Quick automatically downloads the pictures.
  • Directory pages: pages that are a source of links. Nici presents these pages to the user and asks the user to select which links to add to the download line. Nici's Auto-Pilot can be used to automatically select links from these pages, however in most cases these web-pages exist to help people (using a web browser) to choose links and Nici takes advantage of this by using the familiar web model of clicking on links to allow the user to add pages to the download line.

Nici-Quick will not waste time downloading any single page. It will download the page's main url address only, unless it is reasonably sure it can see a series of pictures. Crawling will download the page's main url address and then systematically download all the links found in that page. Depending on the settings, this can spend a large amount of time downloading.

The user does not need any knowledge of the structure of the web-page to use Nici-Quick. To use Crawl downloading effectively, the user needs to enter and modify the Crawl Settings with knowledge of the web-page's structure.

Benefits:

  • No need to know the layout of a web site to use effectively or safely.
  • Keeps the picture downloads flowing and the download line moving.


Links and HTML Source Views

Nici's Links and Source views are designed to give the user an easy way to select links to be added to the download line. Nici's user interface is based on the familiar web model of clicking on links to navigate. Nici takes advantage of the many web pages that are frequently updated with links to picture pages, and enables the user to click on these links, rather than requiring the user to type in addresses.

Nici stores information about the links it has seen and parsed (which can be completely removed using the "Wipe then Exit" command).

In both the Links and Source views, Nici uses the information to show the user which urls have been downloaded in the past and which urls are new compared with the last time a url was downloaded.

The Source view uses the system IWebBrowser control to render the downloaded HTML of a page. To minimize the safety and privacy risks, the HTML is first parsed by our own proprietary HTML parser, and then rewritten removing all tags and content except for the common tags specified by the HTML4 specification. This removes all scripts, applets and other extensions. If an image has already been downloaded, Nici will rewrite the image src attribute to point to the local copy of the image. It will also do this for thumbnail images when it has downloaded the actual image, relying on IWebBrowser to scale the image.

Benefits:

  • Click on links to add page urls instead of typing endless url addresses.
  • Ability to view the original page safely, or see the links behind the page.


Auto-Pilot and Link Quality

The Auto-Pilot was designed so that new users could immediately start downloading pictures. The Auto-Pilot works alongside the Nici-Quick download strategy, randomly selecting links to add to the download line.

The ability of the Auto-Pilot to select "good" links improves with time. Each link is assigned a quality rating, which is based on:

  • Nici remembers which server web hosts returned errors or pages with no actual pictures and assigns links from the same host with a lower quality.
  • Nici collects all the pages that the user has given a high ranking, and assigns links from the same hosts with a higher quality.
  • Nici tokenizes both the text of link urls and link description, and assigns links which contain similar tokens to high ranked pages a higher quality.

Benefits:

  • Start downloading pictures immediately with the Auto-Pilot.
  • Nici can learn what and where the pictures are that you like.


Picture Viewer

Nici contains a Picture Viewer which displays pictures that have been downloaded in the current session or pictures downloaded in past sessions. The Picture Viewer contains a number of features specialized for viewing downloaded pictures:

  • High quality bicubic scaling to fit the picture into the display area.
  • Ability to morph (alpha-blend) between two pictures at one of four speeds.
  • Slideshow to automatically move from picture to picture.
  • Easy keyboard navigation between pictures and pages.
  • Thumbnail corner marks are used to identify pictures that have not been viewed in the main Picture Viewer, and icons identify any pages that have unviewed pictures.

Benefits:

  • Slideshow and morph between downloaded pictures.


Picture Management and Thumbnail Viewer

Nici uses the concept of page rank which is a rating out of 10 that a user can give to a particular page. Page Rank is used to separate and highlight certain pages of pictures.

Nici uses a virtual matching tree to organize and display pictures that the user has downloaded in the past. When the user expands a node in the tree, the pages are searched for matching criteria and are displayed as sub tree nodes.

The "My Archives" pane displays this information and has folders that organize pages:

  • by when they where downloaded.
  • by page rank.
  • by whether the page has pictures that have been viewed or not.
  • by the web server host that they were downloaded from.
  • by the web server host of the source directory page.

Nici's Thumbnail Viewer is used in conjunction with the archives, to show one thumbnail from each of the matching pages. This gives the user an overview of the pages, and allows quick navigation by clicking on a thumbnail.

Benefits:

  • Rank pictures out of 10 to highlight the best downloads.
  • Quickly find pictures with a high rank, or pictures that have not been viewed.


Picture Graphics

Nici makes use of the new Gdiplus API graphics capabilities that are included in Windows XP, and redistributed with Nici for older versions of Windows.

Nici uses the high quality bicubic scaling functions in Gdiplus when it needs to resize pictures to fit the screen and create thumbnail images.

Benefits:

  • Sharp and clear picture display.


File System

Nici saves downloaded pictures to the user's hard drive. Each picture's url address is searched for a number, and if found, extracted and padded to a couple of digits so that the picture files will be alphabetically sorted in the original series order.

Nici seperately stores a small amount of metadata for each picture and series, which is used to show the user whether they have seen the picture, what rating they have given a series, and from what web host the picture was downloaded. All this data can be deleted by the user using the "Wipe then Exit" command.

Nici is designed to be easy to use by users who are not comfortable interacting with the file system directly, and these users can not only download pictures; but manage, view and delete the pictures from within Nici. For users who wish to just use Nici to download pictures, there is an option to export all the pictures into a folder/file organization based on the host name and base url the pictures where downloaded from.

Nici contains its own Recycle Bin which allows the user to delete and then restore/undo. The user can also delete multiple pages filtering on a combination of; the ranking they gave to the page, when they downloaded the page, and whether they have viewed the pictures.

Nici contains the standard Windows Shell commands for pictures like; Print, Email, Open with Default Program and Copy to Clipboard.

Benefits:

  • Let Nici look after the files and folders, leaving you free to look at pictures.
  • Export the downloaded picture files to your own folders.


Privacy and Security

Nici protects the users privacy; unlike web browsers and downloaders that use the Windows system components; Wininet or WinHTTP, it does not place entries in the user's history, cookies or cache folders.

Nici contains absolutely no adware or spyware or other "mal-ware". Nici never phones home, or anywhere else.

Nici stores files, which are used to display the History page, determine if a link is fresh, show if a page address has already been downloaded, and create the pages in My Archives. The "Wipe then Exit" command can be used to delete these files from the users hard drive.

After a Wipe then Exit, everything that Nici knows about what pictures have been downloaded and what web-sites they were found at, is deleted. The only settings that Nici retains are inert settings like; theme setting, whether to show tooltips, license key information and Window layouts.

Nici contains features that can be used to protect other users of a computer from seeing inappropriate pictures and descriptions when viewing the filesystem directly with programs like Windows Explorer.

  • Obscure mode: In Obscure mode, a simple xor is performed on the image bytes before it is saved to disk, so that programs like the Windows Explorer thumb view will not automatically display the picture. Numbers are also used as filenames to avoid inappropriate descriptions.
  • Password: Each time Nici is started, it can ask for a password before allowing access to the program.
  • Internet Ratings: Nici accesses the PICS based Internet Ratings API and checks if the user is allowed to view adult content. If not, a number of features are disabled and an information message box is displayed when starting Nici.

Benefits:

  • Surf with security.
  • Surf responsibly and in privacy.


Help System and Tutorials

Nici uses an integrated Task based help system. A Task view can be displayed for any page which gives specific help for that page, status and property information, and displays tasks relevant for the state of that page. The Tasks view also contains links to allow the user to view more help in a traditional help viewer window.

Nici's help system is interactive, context sensitive and dynamic:

  • Interactive: Various help pages contain embedded commands that open and show the user the windows or features that are being discussed.
  • Context Sensitive: The help system provides a "Show Help For" command which displays help for the part of the window the user clicks on.
  • Dynamic: The help pages contain screenshots that are taken live and therefore adapt to the look of the theme the user has selected.

A number of flash based animated demonstrations of Nici can be played from an online location, or downloaded to the users computer and played from the filesystem.

Benefits:

  • Easy to find the help you need.
  • Animated tutorials show Nici working and demonstrate its features.


User Interface

Nici uses a modern XP user interface look and feel which is available for all versions of Windows that Nici supports (Windows 98+IE5,98SE, ME, 2000, XP). Windows XP Explorer like panes are used to organize and group pages on the left hand side of the window, and various views of the selected page can be displayed on the right hand side of the window.

A web like navigation model is used:

  • Link buttons are used to navigate which use familiar icons, and become hot when the user hovers the mouse over the command.
  • Back and Forward navigation are supported.
  • Dynamic tooltips for all commands which can be disabled once the user is familiar with the program.

12 themes are supplied that can change the color scheme and graphics and icons used.

Benefits:

  • Links and Navigation models are familiar to web browsers.
  • Nici looks good!



Supercharge your modem! ... download pictures and movies from the web ... fast and easy with Nici.

Summary of Benefits: