Soroush Neyestani

Software Engineer

Application Architect

Enterprise Application Developer

Technical Author & Educator

Astan Quds Razavi Digital Library — Android Application

The Astan Quds Razavi Digital Library already existed as a web-based institutional platform centered around:
  • bibliographic metadata,
  • search and discovery,
  • digital collections,
  • record details,
  • digital-resource access,
  • and online viewing.
The Android project addressed a different problem:
How should this information architecture be presented and navigated on a mobile device?
The work therefore focused on mobile productization rather than rebuilding the underlying digital-library platform. Conceptually:
Astan Quds Razavi Digital Library
              ↓
         Existing Content
              ↓
        Existing Metadata
              ↓
        Existing Services
              ↓
        Android Experience
              ↓
       Mobile UI / UX Layer
              ↓
      Public App Distribution

Core Product Principle

The project followed an important product-design principle:
A desktop or web experience should not simply be compressed into a smaller screen.
A mobile client needs its own:
  • navigation hierarchy,
  • screen density,
  • interaction model,
  • content prioritization,
  • loading behavior,
  • visual rhythm.
The Android version was designed around that mobile context.

Relationship to the Main Digital Library

The mobile application should be understood as a client of the broader digital-library ecosystem. The parent system already represented concepts such as:
Search
Repositories
Records
Metadata
Digital Objects
Viewer
The Android application translated those concepts into a mobile experience.

Separation of Responsibilities

Parent Platform

Responsible for:
  • metadata,
  • catalog structure,
  • search data,
  • repository content,
  • digital-resource availability.

Android Client

Responsible for:
  • mobile presentation,
  • interaction,
  • navigation,
  • layout,
  • user experience,
  • application entry flow,
  • Android packaging,
  • marketplace delivery.

Initial Android Version

The initial Android version was designed and implemented by me on both the UI and UX side. This is an important contribution boundary. My role included:
  • how the application looked,
  • how screens were structured,
  • how the user moved through the app,
  • how the app launched,
  • and how the mobile version represented the digital-library experience.

UI Design

The mobile UI needed to adapt an information-dense library system to smaller screens. Typical design considerations included:
  • compact search,
  • readable metadata,
  • simplified navigation,
  • touch-friendly actions,
  • reduced visual density,
  • mobile-friendly record layouts.

UX Design

The UX challenge was not simply visual. It involved deciding what the user should see first. A likely mobile flow:
Launch
  ↓
Home
  ↓
Search / Browse
  ↓
Results
  ↓
Record Detail
  ↓
Digital Resource
The mobile client should reduce friction across this sequence.

Information Prioritization

Desktop library pages can display many metadata fields at once. On mobile, the application should prioritize:
Title
Primary Creator
Resource Type
Key Metadata
Access Action
and progressively reveal secondary details.

Search Experience

Search is central to a digital library. The Android version needed to make search accessible immediately and comfortably on a touch device. Conceptually:
Open App
   ↓
Search
   ↓
Results
   ↓
Select Record

Result Presentation

Search results should be readable without forcing excessive scrolling. A mobile result card can emphasize:
  • title,
  • creator,
  • thumbnail,
  • resource type,
  • short metadata summary.

Record Detail

The record detail view should avoid presenting desktop-scale metadata as one continuous dense block. A better mobile structure is:
Primary Information
   ↓
Resource Access
   ↓
Additional Metadata
   ↓
Related Information

Navigation

Desktop navigation often depends on wide menus and horizontal layouts. Mobile navigation should be reorganized. Possible patterns include:
  • tab navigation,
  • side drawer,
  • bottom navigation,
  • hierarchical back navigation.
The exact historical navigation should be described from screenshots if they are later recovered.

Mobile Interaction Model

Touch targets need to be larger than desktop links. Actions such as:
  • search,
  • open resource,
  • view metadata,
  • return to results,
should remain obvious and easy to reach.

RTL Mobile UI

Because Persian was a primary language, the Android interface needed to respect:
RTL
as a first-class layout requirement. This affects:
  • navigation direction,
  • text alignment,
  • icon placement,
  • page transitions,
  • component ordering.

Typography

Mobile typography needed to preserve readability under dense metadata conditions. The interface should avoid:
  • excessive small text,
  • long unbroken blocks,
  • overpacked labels.

Responsive Thinking Inside Native Mobile

Even inside an Android application, different screen sizes matter. The layout should remain usable across:
  • phones,
  • different aspect ratios,
  • different density classes.

Application Launch Experience

I also designed the initial application launch experience. Instead of a plain static startup, the application used a dedicated animated splash screen.

Adobe Animate Splash Screen

The splash screen was produced using Adobe Animate. This was part of the overall product presentation rather than a purely technical loading screen. Conceptually:
App Launch
   ↓
Animated Splash
   ↓
Initial Loading
   ↓
Digital Library Home

Why the Splash Screen Matters

A splash screen can serve several purposes:
  • branding,
  • launch feedback,
  • loading transition,
  • visual continuity.
For the first Android version, it was part of the intentionally designed experience.

Motion Design

The splash animation is a useful example of the project crossing multiple disciplines:
Software Development
+
UI Design
+
UX Design
+
Motion Design
This is worth preserving in the portfolio.

Android Packaging

The project needed to move from development into an installable Android application. This included the practical product steps around:
  • application packaging,
  • icon assets,
  • splash assets,
  • versioning,
  • release preparation.

Café Bazaar Distribution

The Android application was historically distributed through Café Bazaar. That matters because it demonstrates that the project progressed beyond an internal prototype. The application entered an actual public distribution channel.

Historical Distribution Statement

Safe wording:
The initial Android client was historically released through Café Bazaar.
Avoid saying:
“The application is currently available on Café Bazaar”
unless the current listing is verified.

Productization

This is one of the strongest aspects of the project. The work did not stop at:
APK Built
It continued to:
Mobile Experience
→ Release Preparation
→ Marketplace Distribution

Mobile Product Lifecycle

Conceptually:
Existing Platform
      ↓
Mobile Requirements
      ↓
UI/UX Design
      ↓
Android Implementation
      ↓
Branding / Splash
      ↓
Testing
      ↓
Packaging
      ↓
Distribution

Reuse vs Reinvention

The Android project reused the institutional value already present in the digital library. This is a sound architecture principle. Instead of duplicating:
  • metadata logic,
  • repositories,
  • search data,
the application focused on mobile access.

Shared Platform Model

          DIGITAL LIBRARY CORE
                   │
        ┌──────────┴──────────┐
        ↓                     ↓
      Web UI              Android UI

Why a Dedicated Mobile Client

At the time, a dedicated Android client could offer several benefits over relying only on a desktop-oriented web interface:
  • better mobile navigation,
  • improved branding,
  • easier application discovery,
  • direct marketplace distribution,
  • more predictable user experience.

Mobile vs Web

Web

Browser
Large Screen
Desktop Navigation
Dense Metadata

Android

Touch
Small Screen
Mobile Navigation
Prioritized Metadata
The same information architecture requires different presentation decisions.

Search & Discovery on Mobile

A good mobile library client should make discovery fast. Recommended mobile hierarchy:
Search
Browse
Collections
Recent / Featured
The exact historical home layout should be documented only from evidence.

Digital Resource Access

If the selected record has a digital resource, the application should guide the user clearly toward access. Possible flow:
Record
  ↓
Available Digital Resource
  ↓
Open / View
The exact implementation should not be overstated without screenshots.

Viewer Considerations

A mobile viewer for books or page-based resources should support:
  • page navigation,
  • zoom,
  • portrait use,
  • landscape use,
  • memory-efficient image loading.
These are modern V2 recommendations unless historical evidence confirms them.

Offline Considerations

Offline access would be a separate feature. Do not claim it historically unless there is evidence. A modern V2 could optionally support cached metadata or downloaded permitted resources.

Application State

A mobile client should preserve basic state such as:
  • current search,
  • selected result,
  • current page,
  • user session.

API / Backend Boundary

The Android client should conceptually depend on services from the parent platform. A clean architecture would be:
Android App
    ↓
API / Data Layer
    ↓
Digital Library Core
    ↓
Metadata / Search / Digital Assets
The exact historical integration mechanism should only be described if documented.

Native vs Web Content

Depending on the historical version, some parts could have been rendered natively or through web content. Do not infer the exact implementation without evidence. The confirmed contribution is:
  • Android application,
  • UI/UX,
  • launch experience,
  • distribution.

Authentication

If the digital library required user login for certain features, the mobile client should reuse the same identity model. A modern V2 could use:
  • token-based authentication,
  • secure credential storage,
  • session refresh.

Security

A mobile library application should avoid storing sensitive credentials in plain text. Recommended:
  • HTTPS,
  • secure token storage,
  • certificate validation,
  • server-side authorization.
These are modernization recommendations unless historically evidenced.

Error Handling

Mobile networks are less stable than desktop LAN environments. The app should handle:
  • timeout,
  • no connection,
  • partial loading,
  • failed resource access.

Loading States

A polished mobile experience should visibly distinguish:
Loading
Loaded
Empty
Error
rather than leaving the user with a blank page.

Network-Aware UX

Digital-library resources can be large. A mobile client should be careful about:
  • image size,
  • page preloading,
  • large downloads,
  • weak connections.

Thumbnail Strategy

Search and browse interfaces should use optimized thumbnails rather than full-resolution source images. This improves mobile performance.

Cache Strategy

A modern V2 can cache:
  • thumbnails,
  • recently viewed metadata,
  • search suggestions.
The cache should not become the authoritative source.

Accessibility

Modern Android UI should consider:
  • readable font size,
  • screen-reader labels,
  • contrast,
  • scalable text,
  • touch target size.

Internationalization

The parent platform had Persian/English characteristics. A modern client should externalize:
  • strings,
  • directions,
  • date formats,
  • locale behavior.

Persian Calendar

If the mobile client exposed dates, a localized Persian-date presentation may be useful. Only document the historical behavior if evidence exists.

App Versioning

Publicly distributed Android applications need release versioning. A modern workflow should track:
versionName
versionCode
release notes

Release Engineering

A modern Android release process should include:
  • signed build,
  • release variant,
  • dependency verification,
  • reproducible build,
  • store package.

Distribution Channels

Historically:
Café Bazaar
A modern version could also support other channels if organizational policy allows.

Marketplace Presentation

Publishing an app requires more than code. It needs:
  • app name,
  • icon,
  • screenshots,
  • description,
  • version,
  • release package.
This is another reason the project should be presented as a mobile product, not just an Android coding exercise.

Branding

The app had to remain visually connected to the institutional Digital Library. The splash animation was part of that branding continuity.

UI Consistency

A dedicated mobile client should preserve recognizable elements from the parent system without copying the web layout literally.

Design System Opportunity

A modern V2 could define shared design tokens:
Colors
Typography
Spacing
Icons
Components
for consistency across web and mobile.

Modern V2 Architecture

A contemporary rebuild could use:
  • Kotlin
  • Jetpack Compose
  • MVVM / Clean Architecture
  • Retrofit / Ktor
  • Room for local caching
  • Coil for images
  • Coroutines
  • Hilt/Koin
  • automated UI tests.

Suggested Clean Architecture

Presentation
     ↓
Use Cases
     ↓
Domain
     ↓
Repositories
     ↓
Remote / Local Data Sources

Feature Modules

A modern client could be divided into:
Search
Browse
Record Detail
Viewer
Authentication
Profile
Requests
Settings

Search Module

Responsibilities:
  • query entry,
  • filter state,
  • result pagination,
  • result selection.

Record Module

Responsibilities:
  • record metadata,
  • resource availability,
  • related resources.

Viewer Module

Responsibilities:
  • page loading,
  • page navigation,
  • zoom,
  • reading state.

Splash / Startup Module

Modern flow:
Splash
   ↓
Initialize
   ↓
Check Session
   ↓
Home
The historical splash was designed with Adobe Animate.

State Management

A modern client should use predictable screen state. Example:
SearchState
├── query
├── loading
├── results
├── error
└── page

Testing Strategy

UI Tests

  • search input,
  • result navigation,
  • record detail,
  • back navigation.

Integration Tests

  • API communication,
  • pagination,
  • image loading,
  • authentication.

UX Regression

  • RTL layout,
  • text wrapping,
  • smaller screens.

Performance Testing

Important mobile metrics:
  • app startup time,
  • search response time,
  • list scroll smoothness,
  • image loading,
  • memory use.

Crash Reporting

A modern release should include crash reporting and structured logs.

Analytics Boundary

If analytics are used, they should respect user privacy. Useful events:
  • search submitted,
  • record opened,
  • viewer opened.
Avoid collecting unnecessary personal data.

Historical Evidence Strategy

If screenshots or the old APK are later found, the portfolio page should include:
  1. splash screen,
  2. Android home screen,
  3. search screen,
  4. result list,
  5. record detail,
  6. Café Bazaar listing,
  7. version/about page if available.

Evidence Caption — Splash

Animated launch experience designed for the initial Android release using Adobe Animate.

Evidence Caption — Search

Mobile search and discovery interface adapted from the parent digital-library platform.

Evidence Caption — Café Bazaar

Historical public distribution of the Android application through Café Bazaar.

Historical vs V2 Boundary

Confirmed Historical Capabilities / Facts

  • Android version of the Astan Quds Razavi Digital Library,
  • initial Android UI designed by me,
  • initial Android UX designed by me,
  • initial Android implementation by me,
  • animated splash screen created with Adobe Animate,
  • historical distribution through Café Bazaar,
  • application based on the existing Digital Library platform.

Modern V2 Recommendations

  • Kotlin,
  • Jetpack Compose,
  • Clean Architecture,
  • modern API layer,
  • Room caching,
  • structured offline behavior,
  • modern accessibility,
  • automated release pipeline.
These should be clearly labeled as modernization ideas.

What Not to Overclaim

Do not claim:
  • creation of the parent Digital Library backend,
  • creation of all metadata,
  • ownership of the complete multi-generation digital-library platform,
  • current Café Bazaar availability,
  • offline functionality unless verified,
  • native implementation of every screen unless evidenced.

My Role

A precise description:
I designed and implemented the initial Android UI/UX for the Astan Quds Razavi Digital Library, including the mobile interaction model, application presentation, animated splash experience, and release preparation for public distribution through Café Bazaar.

Engineering Highlights

  • Converted a complex digital-library experience into a mobile product.
  • Designed the initial Android UI.
  • Designed the initial Android UX.
  • Adapted dense bibliographic information for mobile screens.
  • Created mobile navigation around search, discovery, and resource access.
  • Produced the animated splash screen using Adobe Animate.
  • Prepared the Android application for marketplace distribution.
  • Reused an existing institutional platform rather than duplicating its business/data layer.
  • Delivered a real publicly distributed Android product.

Product Design Highlights

  • Mobile-first presentation of metadata-rich content.
  • Touch-friendly navigation.
  • RTL-aware mobile experience.
  • Branded application startup.
  • Clear separation between parent platform and mobile client.

Career Evidence

This project demonstrates:
  • Android Development
  • Mobile UI Design
  • UX Design
  • RTL Mobile Interfaces
  • Institutional Mobile Applications
  • Search & Discovery UX
  • Productization
  • Marketplace Distribution
  • Adobe Animate
  • Motion / Splash Design
  • Legacy Platform Integration

CV Relevance

Tier A/B — Android & Mobile Product Development

The project is valuable because it demonstrates more than coding. It covers:
PRODUCT DESIGN
+
MOBILE UX
+
ANDROID IMPLEMENTATION
+
BRANDING
+
RELEASE

Interview Story

Situation

The Astan Quds Razavi Digital Library already existed as a large web platform with metadata, search, digital collections, and resource access. The organization also wanted a dedicated Android presence.

Task

The challenge was to convert an information-dense web product into a practical mobile experience without rebuilding the underlying digital-library platform.

Action

I designed the initial Android UI and UX, structured the mobile navigation, implemented the Android client, and created an animated splash screen using Adobe Animate. The application was then prepared for public distribution and historically released through Café Bazaar.

Result

The Digital Library gained a dedicated Android client with its own mobile presentation and interaction model while continuing to rely on the established institutional platform behind it.

Suggested Website Full Description

Overview

The Astan Quds Razavi Digital Library Android Application was the mobile client for the existing institutional Digital Library. I designed and implemented the initial Android UI/UX and adapted the platform’s search, discovery, and resource-access experience for mobile use.

Mobile Experience

The primary challenge was to take a metadata-heavy digital-library interface and make it usable on smaller touch screens. The Android client therefore focused on:
  • clear navigation,
  • readable metadata,
  • simplified search,
  • mobile result presentation,
  • direct resource access.

Splash & Branding

I also created the application’s animated splash experience using Adobe Animate. This provided a branded transition from application launch into the Digital Library interface.

Distribution

The application progressed beyond an internal prototype and was historically released through Café Bazaar.

Short Website Card Copy

Astan Quds Razavi Digital Library — Android Application Designed and implemented the initial Android UI/UX for the institutional Digital Library, including mobile navigation, branded splash animation, and public distribution through Café Bazaar.

Alternative One-Liners

Android-oriented

Designed and implemented the initial Android client for the Astan Quds Razavi Digital Library.

UI/UX-oriented

Translated a metadata-rich institutional digital library into a dedicated Android mobile experience with custom UI/UX.

Product-oriented

Took the Digital Library from web platform to publicly distributed Android product, including UI/UX, splash animation, packaging, and Café Bazaar release.

Design-oriented

Designed the initial mobile interaction model and branded launch experience for the Astan Quds Razavi Digital Library Android application.

Suggested Website Slug

/projects/astan-quds-digital-library-android
Alternative:
/projects/android-digital-library-client

Cover Direction

Title

Digital Library — Android Application

Subtitle

Mobile UI/UX · Search · Digital Access

Supporting Line

Android · Adobe Animate · Café Bazaar

Visual Direction

A premium square cover should show:
  • Android phone,
  • search interface,
  • digital book/document cards,
  • metadata panel,
  • splash / motion element,
  • marketplace/mobile distribution cue.
Primary story:
DIGITAL LIBRARY
      ↓
MOBILE EXPERIENCE
      ↓
ANDROID
      ↓
PUBLIC DISTRIBUTION
Avoid making the cover look like:
  • a generic e-book reader,
  • a bookstore,
  • a second independent Digital Library backend.
The key message is:
Mobile productization of an existing institutional digital-library platform.

Relationship to the Digital Library Project Family

These projects should be presented together but kept distinct:

1. Astan Quds Razavi Digital Library

Focus:
Metadata
Search
Repositories
Digital Objects
Viewer

2. Restricted Digital Library over VMware Horizon

Focus:
Restricted Access
VDI
Secure Delivery

3. Android Digital Library Application

Focus:
Mobile UI/UX
Android
Branding
Distribution
Together they demonstrate one platform across three delivery contexts:
WEB
+
RESTRICTED ENTERPRISE
+
MOBILE

Final Portfolio Statement

The Android version was not simply the web interface placed inside a smaller screen. The project required the Digital Library to be interpreted as a mobile product:
EXISTING PLATFORM
+
MOBILE UI
+
MOBILE UX
+
ANDROID IMPLEMENTATION
+
SPLASH / MOTION DESIGN
+
PUBLIC DISTRIBUTION
The strongest way to describe the project is:
I designed and implemented the initial Android experience for an existing institutional digital-library platform, taking it from mobile product design through public app distribution.