SlideShare a Scribd company logo
1 of 10
Download to read offline
Dec 2013, HAPPIEST MINDS TECHNOLOGIES
Flow Document – A solution to
text readers in .Net
Author(s):
Nivedita Parihar
Archita Dash
SHARING. MINDFUL. INTEGRITY. LEARNING. EXCELLENCE. SOCIAL RESPONSIBILITY.
2
© 2013 Happiest Minds Technologies Pvt. Ltd. All Rights Reserved
Copyright Information
This document is an exclusive property of Happiest Minds Technologies Pvt. Ltd. It is
intended for limited circulation.
3
© 2013 Happiest Minds Technologies Pvt. Ltd. All Rights Reserved
Contents
Copyright Information........................................................................................................... 2
Abstract ................................................................................................................................ 4
Introduction.......................................................................................................................... 5
Use of Flow Document in several scenarios:........................................................................... 6
Sample Application Screenshot.............................................................................................. 9
Conclusion:.......................................................................................................................... 10
References: ......................................................................................................................... 10
4
© 2013 Happiest Minds Technologies Pvt. Ltd. All Rights Reserved
Abstract
.Net provides a wide variety of features. At times some of the features don’t get due credit
from developers. One of these features is Flow Document. Flow Documents were introduced
with .Net Framework 3.0. It is a kind of container that can work for almost everything
related to text content. It can be used as a text reader, for example, an offline reader for
drop box. There are many reasons why Flow Document did not get its required exposure.
One is the fact that it was considered as an option to XPS. Many developers used to
customize the Panels existing in .Net to achieve the functionalities equivalent to Flow
Document. However, Flow Documents are richer and provide enhanced layout options.
This document will discuss XAML Flow Document in different contextual scenarios, such as
comparison with HTML5 tags and its usability. The paper also describes the scenarios where
Flow Documents can provide a significant edge over using the Panels/XPS, the significance of
using them in mobile applications and how can the same application be created for different
platforms like desktop native applications or mobile applications using Flow Documents and
its equivalent tags in HTML. The white paper will also discuss the best usage scenarios,
disadvantages of Flow Document and how we can overcome them by customizing it.
5
© 2013 Happiest Minds Technologies Pvt. Ltd. All Rights Reserved
Introduction
Flow Documents are designed to optimize readability and it dynamically reflows and adjusts
the contents based on runtime requirements such as window size device resolution etc. Flow
Document has evolved since the time it got first introduced as .Net Framework 3.0. The
changes have made Flow Document more usable and portable. Now Flow Document can be
used in native apps on desktops, tablets and mobile.
This diagram below shows the various features added in Flow Document after it was
introduced in .Net framework version 3.0.
The diagram explains that from .Net framework 3.0 to 4.5, after introduction of Flow
Document there are several features added to enable it to be used in mobile applications.
Properties
Touch properties are added in the Flow Document and it’s also binds
each and every property.
Events
Touch events are added to Flow Documents for previewing it in mobile
applications.
Methods
Methods also include the touch logic implementation to work with
touch mobile applications and to set resources and bindings.
Explicit Interface
Implementations
Implements content pagination.
6
© 2013 Happiest Minds Technologies Pvt. Ltd. All Rights Reserved
Looking at the diagram it becomes very easy to conclude that with introduction of methods
and properties that support touch, orientation changes and effective data binding Flow
Documents now are ready to be used in next gen applications like tabs and mobiles.
Let us now discuss on how Flow Documents are currently used in various scenarios.
Use of Flow Document in several scenarios:
1. Flow doc use as a native app - WPF / Silverlight/Mobile app
There are many mobile applications which use Flow Document, for example: In Google book
reader app for Windows Phone 8 which uses Google Books API for fetching data, we can
make use of Flow Document to go through the pages of selected books.
2. Flow doc to HTML5
These are the markup tags of XAML Flow Document.
Let us consider an example:
XAML Code
<Flow Document>
<Paragraph>Text<Run FontWeight=”bold”>Element</Run>that needs to be converted to
HTML. </Paragraph>
</Flow Document>
Let us now see how the same code can be ported in HTML
HTML Code
<p> Text <b> Element </b> that needs to be converted to HTML.</p>
7
© 2013 Happiest Minds Technologies Pvt. Ltd. All Rights Reserved
Notice, that even if someone develops a native app with a Flow Document it just takes a few
seconds to convert it into a HTML5 document.
Now let us consider some of the equivalent tags of XAML Flow Document converted into
HTML tags
XAML Flow Document Tags HTML5 Tags
<Paragraph> <p>
<Section> <Blockquote>, <div>,<section>
<List> <ul>
<ListItem> <li>
<Bold> <b>
<Table> <Table>
<TableRow> <tr>
<Tablecell> <td>
<Figure> <Figure>
<LineBreak/> <br/>
<span> , <Run> <span>
A basic tool is available from Microsoft to convert a XAML document into HTML5 tags.
Following is the link.
http://blogs.msdn.com/b/wpfsdk/archive/2006/05/25/606317.aspx
Although this tool easily converts HTML5 Documents to XAML documents but when we
evaluated this tool we came across multiple limitations:
It does not have scrollable view for typing the XAML or HTML5 tags.
If we are typing an internal piece of code for XAML document it cannot convert to its
equivalent tags i.e. starting from the tag <Flow Document>.
It can only convert the small simple XAML document to HTML but it cannot solve the
complex XAML document to convert it to HTML.
We can improvise this tool to make it more useful for various business related scenarios.
3. How Flow Document can be used for eLearning sites/educational sites/research
The eLearning sites, Educational Sites and in the field of research, document reader is almost
used everywhere. Many eLearning sites for example, Pearson eLearning Portal, Tutor Vista
eLearning Portal, are guiding people worldwide with their interactive tutorials. People are
able to access several books through these educational sites which are mostly build using
XAML Flow Document. Even for research people store their discoveries in applications in the
form of documents which can be made using Flow Documents.
8
© 2013 Happiest Minds Technologies Pvt. Ltd. All Rights Reserved
EBook Reader
To understand this, consider example of Amazon eBook Reader (Kindle) or any other.
People can read and access books and documents from the cloud or service provider
datacenter. Similarly we can build custom eBook Reader for an enterprise, easily with the
use of XAML Flow Document which includes features of pagination and ambience.
Offline drop box
After browsing eBooks if we want to store those books in DropBox, we can create our
own offline DropBox and save the browsed eBooks and access them offline. Any file you
save to Drop Box also instantly saves to your computers, phones, and the Drop Box
website. Flow Document in offline Drop Box, extracts the content of eBooks and parses it
to display the eBook content stored in Drop Box in form of Flow Document.
4. Flow Document is as a Problem Solver when compared to Panels.
If we look at the difference between use of Flow Document and Panels for implementation
of making document, some developers are not fully cognizant of the capabilities of Flow
Document vis-à-vis the Panel. There are several issues which can be resolved by Flow
Documents, such as hosting and formatting flow content with advanced document features
such as pagination and columns. Flow Document is a heavy object, therefore if not handled
correctly applications run the risk of becoming unnecessarily heavy. If it is possible to use
Panel and implement the required features without using Flow Document, then that is an
advisable solution.
5. How Flow Documents are easily printable, no need to use XPS.
Flow Document Reader already has inbuilt print feature, which is used as below:
// Create a PrintDialog
PrintDialog printDlg = new PrintDialog ();
// create a Flow Document dynamically.
Flow Document doc = // creating Flow Document
doc.Name = "FlowDoc";
// Create IDocumentPaginatorSource from Flow Document
IDocumentPaginatorSource idpSource = doc;
// Call PrintDocument method to send document to printer
printDlg.PrintDocument (idpSource.DocumentPaginator, "Hello WPF Printing.");
9
© 2013 Happiest Minds Technologies Pvt. Ltd. All Rights Reserved
Sample Application Screenshot
Here is the Sample Application Screenshot How to use Flow Document.
10
© 2013 Happiest Minds Technologies Pvt. Ltd. All Rights Reserved
Conclusion:
Flow Documents are best utilized when ease of reading is the primary document consumption
scenario. Flow Documents have a number of built in features including search, pagination, viewing
modes that optimize readability and the ability to change the size and appearance of fonts. After
discussing about above mentioned different scenarios and its usability in mobile applications other
than native applications, and other than eBooks there are many other kinds of applications where we
can use Flow Documents, especially where we need to implement pagination and zoom features
together.
There are various options available to show the content in form of documents like Panel, Canvas etc.
However, with the complexity of the code, using the Flow Document is best when the application
requirements have been carefully considered, when support for all the platforms either for native
application or mobile application using single code application which is the feature of responsive
design.
References:
http://msdn.microsoft.com/en-us/library/aa970909%28v=vs.110%29.aspx#flow_document_types
http://msdn.microsoft.com/en-us/magazine/cc163371.aspx
http://msdn.microsoft.com/en-us/library/system.windows.documents.Flow
Document%28v=vs.110%29.aspx
https://www.dropbox.com/features
MSDN posted tool in this blog: http://blogs.msdn.com/b/wpfsdk/archive/2006/05/25/606317.aspx

More Related Content

What's hot

White paper Lotus to Google: feature mapping
White paper Lotus to Google: feature mappingWhite paper Lotus to Google: feature mapping
White paper Lotus to Google: feature mappingRichard van Delft
 
Vskills angular js sample material
Vskills angular js sample materialVskills angular js sample material
Vskills angular js sample materialVskills
 
SharePoint Document Sets
SharePoint Document SetsSharePoint Document Sets
SharePoint Document SetsRegroove
 
Multidimensional model programming
Multidimensional model programmingMultidimensional model programming
Multidimensional model programmingSteve Xu
 
Sap business-object-universe-idt-lab-i
Sap business-object-universe-idt-lab-iSap business-object-universe-idt-lab-i
Sap business-object-universe-idt-lab-iAmit Sharma
 
28 accessible digital office document (adod) project
28 accessible digital office document (adod) project28 accessible digital office document (adod) project
28 accessible digital office document (adod) projectAEGIS-ACCESSIBLE Projects
 
All PDFs are Not Created Equal - Adlib White Paper - From Atidan
All PDFs are Not Created Equal - Adlib White Paper - From AtidanAll PDFs are Not Created Equal - Adlib White Paper - From Atidan
All PDFs are Not Created Equal - Adlib White Paper - From AtidanDavid J Rosenthal
 
Mengelola isi halaman web1 eng
Mengelola isi halaman web1 engMengelola isi halaman web1 eng
Mengelola isi halaman web1 engEko Supriyadi
 
IRJET- A Personalized Web Browser
IRJET- A Personalized Web BrowserIRJET- A Personalized Web Browser
IRJET- A Personalized Web BrowserIRJET Journal
 
Xml Data Feeds And Web Services For Affiliates
Xml Data Feeds And Web Services For AffiliatesXml Data Feeds And Web Services For Affiliates
Xml Data Feeds And Web Services For AffiliatesCarsten Cumbrowski
 

What's hot (18)

White paper Lotus to Google: feature mapping
White paper Lotus to Google: feature mappingWhite paper Lotus to Google: feature mapping
White paper Lotus to Google: feature mapping
 
Vskills angular js sample material
Vskills angular js sample materialVskills angular js sample material
Vskills angular js sample material
 
fieldwork
fieldworkfieldwork
fieldwork
 
SharePoint Document Sets
SharePoint Document SetsSharePoint Document Sets
SharePoint Document Sets
 
IBM Notes 9.0 vs MICROSOFT Outlook 2013
IBM Notes 9.0 vs MICROSOFT Outlook 2013IBM Notes 9.0 vs MICROSOFT Outlook 2013
IBM Notes 9.0 vs MICROSOFT Outlook 2013
 
Multidimensional model programming
Multidimensional model programmingMultidimensional model programming
Multidimensional model programming
 
Sap business-object-universe-idt-lab-i
Sap business-object-universe-idt-lab-iSap business-object-universe-idt-lab-i
Sap business-object-universe-idt-lab-i
 
Search
SearchSearch
Search
 
Bdc Screens
Bdc ScreensBdc Screens
Bdc Screens
 
28 accessible digital office document (adod) project
28 accessible digital office document (adod) project28 accessible digital office document (adod) project
28 accessible digital office document (adod) project
 
XML Bible
XML BibleXML Bible
XML Bible
 
All PDFs are Not Created Equal - Adlib White Paper - From Atidan
All PDFs are Not Created Equal - Adlib White Paper - From AtidanAll PDFs are Not Created Equal - Adlib White Paper - From Atidan
All PDFs are Not Created Equal - Adlib White Paper - From Atidan
 
Report html5
Report html5Report html5
Report html5
 
Mengelola isi halaman web1 eng
Mengelola isi halaman web1 engMengelola isi halaman web1 eng
Mengelola isi halaman web1 eng
 
IRJET- A Personalized Web Browser
IRJET- A Personalized Web BrowserIRJET- A Personalized Web Browser
IRJET- A Personalized Web Browser
 
Xml Data Feeds And Web Services For Affiliates
Xml Data Feeds And Web Services For AffiliatesXml Data Feeds And Web Services For Affiliates
Xml Data Feeds And Web Services For Affiliates
 
JavaScript
JavaScriptJavaScript
JavaScript
 
XML Bible
XML BibleXML Bible
XML Bible
 

Similar to Whitepaper: Flow Document – A solution to text readers in .Net - Happiest Minds

Geliyoo Browser Beta (İnternet tarayıcısı) Hakkında
Geliyoo Browser Beta (İnternet tarayıcısı) HakkındaGeliyoo Browser Beta (İnternet tarayıcısı) Hakkında
Geliyoo Browser Beta (İnternet tarayıcısı) HakkındaXtremcoin and Geliyoo
 
Geliyoo Browser Beta
Geliyoo Browser BetaGeliyoo Browser Beta
Geliyoo Browser BetaBuray Anil
 
Document Management System: Redesign Proposal
Document Management System: Redesign ProposalDocument Management System: Redesign Proposal
Document Management System: Redesign ProposalFaiz Shariff
 
Company Visitor Management System Report.docx
Company Visitor Management System Report.docxCompany Visitor Management System Report.docx
Company Visitor Management System Report.docxfantabulous2024
 
0506-django-web-framework-for-python.pdf
0506-django-web-framework-for-python.pdf0506-django-web-framework-for-python.pdf
0506-django-web-framework-for-python.pdfradhianiedjan1
 
Nt1310 Final Exam Questions And Answers
Nt1310 Final Exam Questions And AnswersNt1310 Final Exam Questions And Answers
Nt1310 Final Exam Questions And AnswersLisa Williams
 
Sharepoint tips and tricks
Sharepoint tips and tricksSharepoint tips and tricks
Sharepoint tips and tricksJeff Wisniewski
 
iTaNGO Workshop Cloud Presentation
iTaNGO Workshop Cloud PresentationiTaNGO Workshop Cloud Presentation
iTaNGO Workshop Cloud PresentationiTaNGOproject
 
D3 data driven development in practice - the AirPortal for Schiphol and Tra...
D3   data driven development in practice - the AirPortal for Schiphol and Tra...D3   data driven development in practice - the AirPortal for Schiphol and Tra...
D3 data driven development in practice - the AirPortal for Schiphol and Tra...112Motion
 
Ncp computer appls web tech asish
Ncp computer appls  web tech asishNcp computer appls  web tech asish
Ncp computer appls web tech asishNCP
 
IRJET- A Personalized Web Browser
IRJET-  	  A Personalized Web BrowserIRJET-  	  A Personalized Web Browser
IRJET- A Personalized Web BrowserIRJET Journal
 
Investigating Soap and Xml Technologies in Web Service
Investigating Soap and Xml Technologies in Web Service  Investigating Soap and Xml Technologies in Web Service
Investigating Soap and Xml Technologies in Web Service ijsc
 
INVESTIGATING SOAP AND XML TECHNOLOGIES IN WEB SERVICE
INVESTIGATING SOAP AND XML TECHNOLOGIES IN WEB SERVICEINVESTIGATING SOAP AND XML TECHNOLOGIES IN WEB SERVICE
INVESTIGATING SOAP AND XML TECHNOLOGIES IN WEB SERVICEijsc
 
MINOR PROZECT REPORT on WINDOWS SERVER
MINOR PROZECT REPORT on WINDOWS SERVERMINOR PROZECT REPORT on WINDOWS SERVER
MINOR PROZECT REPORT on WINDOWS SERVERAsish Verma
 
Cloud Web-Based Operating System (Cloud Web Os)
Cloud Web-Based Operating System (Cloud Web Os)Cloud Web-Based Operating System (Cloud Web Os)
Cloud Web-Based Operating System (Cloud Web Os)ijcsit
 
UMD User's Group: DrupalCon 2011, Chicago
UMD User's Group: DrupalCon 2011, ChicagoUMD User's Group: DrupalCon 2011, Chicago
UMD User's Group: DrupalCon 2011, Chicagobrockfanning
 
SharePoint_mTech
SharePoint_mTechSharePoint_mTech
SharePoint_mTechovais99
 

Similar to Whitepaper: Flow Document – A solution to text readers in .Net - Happiest Minds (20)

Geliyoo Browser Beta (İnternet tarayıcısı) Hakkında
Geliyoo Browser Beta (İnternet tarayıcısı) HakkındaGeliyoo Browser Beta (İnternet tarayıcısı) Hakkında
Geliyoo Browser Beta (İnternet tarayıcısı) Hakkında
 
Geliyoo Browser Beta
Geliyoo Browser BetaGeliyoo Browser Beta
Geliyoo Browser Beta
 
Document Management System: Redesign Proposal
Document Management System: Redesign ProposalDocument Management System: Redesign Proposal
Document Management System: Redesign Proposal
 
Company Visitor Management System Report.docx
Company Visitor Management System Report.docxCompany Visitor Management System Report.docx
Company Visitor Management System Report.docx
 
0506-django-web-framework-for-python.pdf
0506-django-web-framework-for-python.pdf0506-django-web-framework-for-python.pdf
0506-django-web-framework-for-python.pdf
 
Nt1310 Final Exam Questions And Answers
Nt1310 Final Exam Questions And AnswersNt1310 Final Exam Questions And Answers
Nt1310 Final Exam Questions And Answers
 
Sharepoint tips and tricks
Sharepoint tips and tricksSharepoint tips and tricks
Sharepoint tips and tricks
 
iTaNGO Workshop Cloud Presentation
iTaNGO Workshop Cloud PresentationiTaNGO Workshop Cloud Presentation
iTaNGO Workshop Cloud Presentation
 
D3 data driven development in practice - the AirPortal for Schiphol and Tra...
D3   data driven development in practice - the AirPortal for Schiphol and Tra...D3   data driven development in practice - the AirPortal for Schiphol and Tra...
D3 data driven development in practice - the AirPortal for Schiphol and Tra...
 
Ncp computer appls web tech asish
Ncp computer appls  web tech asishNcp computer appls  web tech asish
Ncp computer appls web tech asish
 
IRJET- A Personalized Web Browser
IRJET-  	  A Personalized Web BrowserIRJET-  	  A Personalized Web Browser
IRJET- A Personalized Web Browser
 
Investigating Soap and Xml Technologies in Web Service
Investigating Soap and Xml Technologies in Web Service  Investigating Soap and Xml Technologies in Web Service
Investigating Soap and Xml Technologies in Web Service
 
INVESTIGATING SOAP AND XML TECHNOLOGIES IN WEB SERVICE
INVESTIGATING SOAP AND XML TECHNOLOGIES IN WEB SERVICEINVESTIGATING SOAP AND XML TECHNOLOGIES IN WEB SERVICE
INVESTIGATING SOAP AND XML TECHNOLOGIES IN WEB SERVICE
 
MINOR PROZECT REPORT on WINDOWS SERVER
MINOR PROZECT REPORT on WINDOWS SERVERMINOR PROZECT REPORT on WINDOWS SERVER
MINOR PROZECT REPORT on WINDOWS SERVER
 
Cloud Web-Based Operating System (Cloud Web Os)
Cloud Web-Based Operating System (Cloud Web Os)Cloud Web-Based Operating System (Cloud Web Os)
Cloud Web-Based Operating System (Cloud Web Os)
 
IETM Development Process.pdf
IETM Development Process.pdfIETM Development Process.pdf
IETM Development Process.pdf
 
Knolidge
KnolidgeKnolidge
Knolidge
 
UMD User's Group: DrupalCon 2011, Chicago
UMD User's Group: DrupalCon 2011, ChicagoUMD User's Group: DrupalCon 2011, Chicago
UMD User's Group: DrupalCon 2011, Chicago
 
SharePoint_mTech
SharePoint_mTechSharePoint_mTech
SharePoint_mTech
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 

More from Happiest Minds Technologies

Largest Electricity provider in the US- Case Study
Largest Electricity provider in the US- Case StudyLargest Electricity provider in the US- Case Study
Largest Electricity provider in the US- Case StudyHappiest Minds Technologies
 
Exploring the Potential of ChatGPT in Banking, Financial SERVICES & Insurance
Exploring the Potential of ChatGPT in Banking, Financial SERVICES & InsuranceExploring the Potential of ChatGPT in Banking, Financial SERVICES & Insurance
Exploring the Potential of ChatGPT in Banking, Financial SERVICES & InsuranceHappiest Minds Technologies
 
AUTOMATING CYBER RISK DETECTION AND PROTECTION WITH SOC 2.0
AUTOMATING CYBER RISK DETECTION AND PROTECTION WITH SOC 2.0AUTOMATING CYBER RISK DETECTION AND PROTECTION WITH SOC 2.0
AUTOMATING CYBER RISK DETECTION AND PROTECTION WITH SOC 2.0Happiest Minds Technologies
 
Automating SOC1/2 Compliance- For a leading Software solution company in UK
Automating SOC1/2 Compliance- For a leading Software solution company in UKAutomating SOC1/2 Compliance- For a leading Software solution company in UK
Automating SOC1/2 Compliance- For a leading Software solution company in UKHappiest Minds Technologies
 
GUIDE TO KEEP YOUR END-USERS CONNECTED TO THE DIGITAL WORKPLACE DURING DISRUP...
GUIDE TO KEEP YOUR END-USERS CONNECTED TO THE DIGITAL WORKPLACE DURING DISRUP...GUIDE TO KEEP YOUR END-USERS CONNECTED TO THE DIGITAL WORKPLACE DURING DISRUP...
GUIDE TO KEEP YOUR END-USERS CONNECTED TO THE DIGITAL WORKPLACE DURING DISRUP...Happiest Minds Technologies
 
Complete Guide to General Data Protection Regulation (GDPR)
Complete Guide to General Data Protection Regulation (GDPR)Complete Guide to General Data Protection Regulation (GDPR)
Complete Guide to General Data Protection Regulation (GDPR)Happiest Minds Technologies
 
Azure bastion- Remote desktop RDP/SSH in Azure using Bastion Service as (PaaS)
Azure bastion- Remote desktop RDP/SSH in Azure using Bastion Service as (PaaS)Azure bastion- Remote desktop RDP/SSH in Azure using Bastion Service as (PaaS)
Azure bastion- Remote desktop RDP/SSH in Azure using Bastion Service as (PaaS)Happiest Minds Technologies
 
REDUCING TRANSPORTATION COSTS IN RETAIL THROUGH INTELLIGENT FREIGHT AUDIT
REDUCING TRANSPORTATION COSTS IN RETAIL THROUGH INTELLIGENT FREIGHT AUDITREDUCING TRANSPORTATION COSTS IN RETAIL THROUGH INTELLIGENT FREIGHT AUDIT
REDUCING TRANSPORTATION COSTS IN RETAIL THROUGH INTELLIGENT FREIGHT AUDITHappiest Minds Technologies
 
REDUCING TRANSPORTATION COSTS IN CPG THROUGH INTELLIGENT FREIGHT AUDIT
REDUCING TRANSPORTATION COSTS IN CPG THROUGH INTELLIGENT FREIGHT AUDITREDUCING TRANSPORTATION COSTS IN CPG THROUGH INTELLIGENT FREIGHT AUDIT
REDUCING TRANSPORTATION COSTS IN CPG THROUGH INTELLIGENT FREIGHT AUDITHappiest Minds Technologies
 
REDUCING TRANSPORTATION COSTS IN RETAIL THROUGH INTELLIGENT FREIGHT AUDIT
REDUCING TRANSPORTATION COSTS IN RETAIL THROUGH INTELLIGENT FREIGHT AUDITREDUCING TRANSPORTATION COSTS IN RETAIL THROUGH INTELLIGENT FREIGHT AUDIT
REDUCING TRANSPORTATION COSTS IN RETAIL THROUGH INTELLIGENT FREIGHT AUDITHappiest Minds Technologies
 

More from Happiest Minds Technologies (20)

Largest Electricity provider in the US- Case Study
Largest Electricity provider in the US- Case StudyLargest Electricity provider in the US- Case Study
Largest Electricity provider in the US- Case Study
 
BFSI GLOBAL TRENDS FY 24
BFSI GLOBAL TRENDS FY 24BFSI GLOBAL TRENDS FY 24
BFSI GLOBAL TRENDS FY 24
 
ARTIFICIAL INTELLIGENCE IN DIGITAL BANKING
ARTIFICIAL INTELLIGENCE IN DIGITAL BANKINGARTIFICIAL INTELLIGENCE IN DIGITAL BANKING
ARTIFICIAL INTELLIGENCE IN DIGITAL BANKING
 
DIGITAL MANUFACTURING
DIGITAL MANUFACTURINGDIGITAL MANUFACTURING
DIGITAL MANUFACTURING
 
Exploring the Potential of ChatGPT in Banking, Financial SERVICES & Insurance
Exploring the Potential of ChatGPT in Banking, Financial SERVICES & InsuranceExploring the Potential of ChatGPT in Banking, Financial SERVICES & Insurance
Exploring the Potential of ChatGPT in Banking, Financial SERVICES & Insurance
 
AN OVERVIEW OF THE METAVERSE
AN OVERVIEW OF THE METAVERSEAN OVERVIEW OF THE METAVERSE
AN OVERVIEW OF THE METAVERSE
 
VMware to AWS Cloud Migration
VMware to AWS Cloud MigrationVMware to AWS Cloud Migration
VMware to AWS Cloud Migration
 
Digital-Content-Monetization-DCM-Platform-2.pdf
Digital-Content-Monetization-DCM-Platform-2.pdfDigital-Content-Monetization-DCM-Platform-2.pdf
Digital-Content-Monetization-DCM-Platform-2.pdf
 
AUTOMATING CYBER RISK DETECTION AND PROTECTION WITH SOC 2.0
AUTOMATING CYBER RISK DETECTION AND PROTECTION WITH SOC 2.0AUTOMATING CYBER RISK DETECTION AND PROTECTION WITH SOC 2.0
AUTOMATING CYBER RISK DETECTION AND PROTECTION WITH SOC 2.0
 
Cloud Reshaping Banking
Cloud Reshaping BankingCloud Reshaping Banking
Cloud Reshaping Banking
 
Automating SOC1/2 Compliance- For a leading Software solution company in UK
Automating SOC1/2 Compliance- For a leading Software solution company in UKAutomating SOC1/2 Compliance- For a leading Software solution company in UK
Automating SOC1/2 Compliance- For a leading Software solution company in UK
 
PAMaaS- Powered by CyberArk
PAMaaS- Powered by CyberArkPAMaaS- Powered by CyberArk
PAMaaS- Powered by CyberArk
 
GUIDE TO KEEP YOUR END-USERS CONNECTED TO THE DIGITAL WORKPLACE DURING DISRUP...
GUIDE TO KEEP YOUR END-USERS CONNECTED TO THE DIGITAL WORKPLACE DURING DISRUP...GUIDE TO KEEP YOUR END-USERS CONNECTED TO THE DIGITAL WORKPLACE DURING DISRUP...
GUIDE TO KEEP YOUR END-USERS CONNECTED TO THE DIGITAL WORKPLACE DURING DISRUP...
 
SECURING THE CLOUD DATA LAKES
SECURING THE CLOUD DATA LAKESSECURING THE CLOUD DATA LAKES
SECURING THE CLOUD DATA LAKES
 
Complete Guide to General Data Protection Regulation (GDPR)
Complete Guide to General Data Protection Regulation (GDPR)Complete Guide to General Data Protection Regulation (GDPR)
Complete Guide to General Data Protection Regulation (GDPR)
 
Azure bastion- Remote desktop RDP/SSH in Azure using Bastion Service as (PaaS)
Azure bastion- Remote desktop RDP/SSH in Azure using Bastion Service as (PaaS)Azure bastion- Remote desktop RDP/SSH in Azure using Bastion Service as (PaaS)
Azure bastion- Remote desktop RDP/SSH in Azure using Bastion Service as (PaaS)
 
REDUCING TRANSPORTATION COSTS IN RETAIL THROUGH INTELLIGENT FREIGHT AUDIT
REDUCING TRANSPORTATION COSTS IN RETAIL THROUGH INTELLIGENT FREIGHT AUDITREDUCING TRANSPORTATION COSTS IN RETAIL THROUGH INTELLIGENT FREIGHT AUDIT
REDUCING TRANSPORTATION COSTS IN RETAIL THROUGH INTELLIGENT FREIGHT AUDIT
 
REDUCING TRANSPORTATION COSTS IN CPG THROUGH INTELLIGENT FREIGHT AUDIT
REDUCING TRANSPORTATION COSTS IN CPG THROUGH INTELLIGENT FREIGHT AUDITREDUCING TRANSPORTATION COSTS IN CPG THROUGH INTELLIGENT FREIGHT AUDIT
REDUCING TRANSPORTATION COSTS IN CPG THROUGH INTELLIGENT FREIGHT AUDIT
 
How to Approach Tool Integrations
How to Approach Tool IntegrationsHow to Approach Tool Integrations
How to Approach Tool Integrations
 
REDUCING TRANSPORTATION COSTS IN RETAIL THROUGH INTELLIGENT FREIGHT AUDIT
REDUCING TRANSPORTATION COSTS IN RETAIL THROUGH INTELLIGENT FREIGHT AUDITREDUCING TRANSPORTATION COSTS IN RETAIL THROUGH INTELLIGENT FREIGHT AUDIT
REDUCING TRANSPORTATION COSTS IN RETAIL THROUGH INTELLIGENT FREIGHT AUDIT
 

Recently uploaded

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 

Recently uploaded (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 

Whitepaper: Flow Document – A solution to text readers in .Net - Happiest Minds

  • 1. Dec 2013, HAPPIEST MINDS TECHNOLOGIES Flow Document – A solution to text readers in .Net Author(s): Nivedita Parihar Archita Dash SHARING. MINDFUL. INTEGRITY. LEARNING. EXCELLENCE. SOCIAL RESPONSIBILITY.
  • 2. 2 © 2013 Happiest Minds Technologies Pvt. Ltd. All Rights Reserved Copyright Information This document is an exclusive property of Happiest Minds Technologies Pvt. Ltd. It is intended for limited circulation.
  • 3. 3 © 2013 Happiest Minds Technologies Pvt. Ltd. All Rights Reserved Contents Copyright Information........................................................................................................... 2 Abstract ................................................................................................................................ 4 Introduction.......................................................................................................................... 5 Use of Flow Document in several scenarios:........................................................................... 6 Sample Application Screenshot.............................................................................................. 9 Conclusion:.......................................................................................................................... 10 References: ......................................................................................................................... 10
  • 4. 4 © 2013 Happiest Minds Technologies Pvt. Ltd. All Rights Reserved Abstract .Net provides a wide variety of features. At times some of the features don’t get due credit from developers. One of these features is Flow Document. Flow Documents were introduced with .Net Framework 3.0. It is a kind of container that can work for almost everything related to text content. It can be used as a text reader, for example, an offline reader for drop box. There are many reasons why Flow Document did not get its required exposure. One is the fact that it was considered as an option to XPS. Many developers used to customize the Panels existing in .Net to achieve the functionalities equivalent to Flow Document. However, Flow Documents are richer and provide enhanced layout options. This document will discuss XAML Flow Document in different contextual scenarios, such as comparison with HTML5 tags and its usability. The paper also describes the scenarios where Flow Documents can provide a significant edge over using the Panels/XPS, the significance of using them in mobile applications and how can the same application be created for different platforms like desktop native applications or mobile applications using Flow Documents and its equivalent tags in HTML. The white paper will also discuss the best usage scenarios, disadvantages of Flow Document and how we can overcome them by customizing it.
  • 5. 5 © 2013 Happiest Minds Technologies Pvt. Ltd. All Rights Reserved Introduction Flow Documents are designed to optimize readability and it dynamically reflows and adjusts the contents based on runtime requirements such as window size device resolution etc. Flow Document has evolved since the time it got first introduced as .Net Framework 3.0. The changes have made Flow Document more usable and portable. Now Flow Document can be used in native apps on desktops, tablets and mobile. This diagram below shows the various features added in Flow Document after it was introduced in .Net framework version 3.0. The diagram explains that from .Net framework 3.0 to 4.5, after introduction of Flow Document there are several features added to enable it to be used in mobile applications. Properties Touch properties are added in the Flow Document and it’s also binds each and every property. Events Touch events are added to Flow Documents for previewing it in mobile applications. Methods Methods also include the touch logic implementation to work with touch mobile applications and to set resources and bindings. Explicit Interface Implementations Implements content pagination.
  • 6. 6 © 2013 Happiest Minds Technologies Pvt. Ltd. All Rights Reserved Looking at the diagram it becomes very easy to conclude that with introduction of methods and properties that support touch, orientation changes and effective data binding Flow Documents now are ready to be used in next gen applications like tabs and mobiles. Let us now discuss on how Flow Documents are currently used in various scenarios. Use of Flow Document in several scenarios: 1. Flow doc use as a native app - WPF / Silverlight/Mobile app There are many mobile applications which use Flow Document, for example: In Google book reader app for Windows Phone 8 which uses Google Books API for fetching data, we can make use of Flow Document to go through the pages of selected books. 2. Flow doc to HTML5 These are the markup tags of XAML Flow Document. Let us consider an example: XAML Code <Flow Document> <Paragraph>Text<Run FontWeight=”bold”>Element</Run>that needs to be converted to HTML. </Paragraph> </Flow Document> Let us now see how the same code can be ported in HTML HTML Code <p> Text <b> Element </b> that needs to be converted to HTML.</p>
  • 7. 7 © 2013 Happiest Minds Technologies Pvt. Ltd. All Rights Reserved Notice, that even if someone develops a native app with a Flow Document it just takes a few seconds to convert it into a HTML5 document. Now let us consider some of the equivalent tags of XAML Flow Document converted into HTML tags XAML Flow Document Tags HTML5 Tags <Paragraph> <p> <Section> <Blockquote>, <div>,<section> <List> <ul> <ListItem> <li> <Bold> <b> <Table> <Table> <TableRow> <tr> <Tablecell> <td> <Figure> <Figure> <LineBreak/> <br/> <span> , <Run> <span> A basic tool is available from Microsoft to convert a XAML document into HTML5 tags. Following is the link. http://blogs.msdn.com/b/wpfsdk/archive/2006/05/25/606317.aspx Although this tool easily converts HTML5 Documents to XAML documents but when we evaluated this tool we came across multiple limitations: It does not have scrollable view for typing the XAML or HTML5 tags. If we are typing an internal piece of code for XAML document it cannot convert to its equivalent tags i.e. starting from the tag <Flow Document>. It can only convert the small simple XAML document to HTML but it cannot solve the complex XAML document to convert it to HTML. We can improvise this tool to make it more useful for various business related scenarios. 3. How Flow Document can be used for eLearning sites/educational sites/research The eLearning sites, Educational Sites and in the field of research, document reader is almost used everywhere. Many eLearning sites for example, Pearson eLearning Portal, Tutor Vista eLearning Portal, are guiding people worldwide with their interactive tutorials. People are able to access several books through these educational sites which are mostly build using XAML Flow Document. Even for research people store their discoveries in applications in the form of documents which can be made using Flow Documents.
  • 8. 8 © 2013 Happiest Minds Technologies Pvt. Ltd. All Rights Reserved EBook Reader To understand this, consider example of Amazon eBook Reader (Kindle) or any other. People can read and access books and documents from the cloud or service provider datacenter. Similarly we can build custom eBook Reader for an enterprise, easily with the use of XAML Flow Document which includes features of pagination and ambience. Offline drop box After browsing eBooks if we want to store those books in DropBox, we can create our own offline DropBox and save the browsed eBooks and access them offline. Any file you save to Drop Box also instantly saves to your computers, phones, and the Drop Box website. Flow Document in offline Drop Box, extracts the content of eBooks and parses it to display the eBook content stored in Drop Box in form of Flow Document. 4. Flow Document is as a Problem Solver when compared to Panels. If we look at the difference between use of Flow Document and Panels for implementation of making document, some developers are not fully cognizant of the capabilities of Flow Document vis-à-vis the Panel. There are several issues which can be resolved by Flow Documents, such as hosting and formatting flow content with advanced document features such as pagination and columns. Flow Document is a heavy object, therefore if not handled correctly applications run the risk of becoming unnecessarily heavy. If it is possible to use Panel and implement the required features without using Flow Document, then that is an advisable solution. 5. How Flow Documents are easily printable, no need to use XPS. Flow Document Reader already has inbuilt print feature, which is used as below: // Create a PrintDialog PrintDialog printDlg = new PrintDialog (); // create a Flow Document dynamically. Flow Document doc = // creating Flow Document doc.Name = "FlowDoc"; // Create IDocumentPaginatorSource from Flow Document IDocumentPaginatorSource idpSource = doc; // Call PrintDocument method to send document to printer printDlg.PrintDocument (idpSource.DocumentPaginator, "Hello WPF Printing.");
  • 9. 9 © 2013 Happiest Minds Technologies Pvt. Ltd. All Rights Reserved Sample Application Screenshot Here is the Sample Application Screenshot How to use Flow Document.
  • 10. 10 © 2013 Happiest Minds Technologies Pvt. Ltd. All Rights Reserved Conclusion: Flow Documents are best utilized when ease of reading is the primary document consumption scenario. Flow Documents have a number of built in features including search, pagination, viewing modes that optimize readability and the ability to change the size and appearance of fonts. After discussing about above mentioned different scenarios and its usability in mobile applications other than native applications, and other than eBooks there are many other kinds of applications where we can use Flow Documents, especially where we need to implement pagination and zoom features together. There are various options available to show the content in form of documents like Panel, Canvas etc. However, with the complexity of the code, using the Flow Document is best when the application requirements have been carefully considered, when support for all the platforms either for native application or mobile application using single code application which is the feature of responsive design. References: http://msdn.microsoft.com/en-us/library/aa970909%28v=vs.110%29.aspx#flow_document_types http://msdn.microsoft.com/en-us/magazine/cc163371.aspx http://msdn.microsoft.com/en-us/library/system.windows.documents.Flow Document%28v=vs.110%29.aspx https://www.dropbox.com/features MSDN posted tool in this blog: http://blogs.msdn.com/b/wpfsdk/archive/2006/05/25/606317.aspx