Skip to main content

Programming Communication with the User in Multiplatform Spreadsheet Applications

  • Conference paper
  • First Online:
Software Technologies: Applications and Foundations (STAF 2016)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 9946))

  • 833 Accesses

Abstract

It is quite common that the same person uses many different devices, depending on the situation: smartphones and tablets in the field, laptops in the office, switching between operating systems and Web-based applications. A spreadsheet user in this situation needs a multiplatform spreadsheet, one which will work equally well on all types of devices. The alternative of having many spreadsheets and copying data between them is clearly inferior, because it is a well-known source of errors.

The topic we want to address in the present paper is programming the interaction with the user in a multiplatform spreadsheet, using only the core spreadsheet functionalities, which are implemented in the majority of spreadsheet systems.

We report here on our experiences with creating the user interface of a multiplatform spreadsheet application for archaeologists working in the field.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    A Spreadsheet management system (or spreadsheet system) is a software used to create, manage and execute individual spreadsheets. This distinction resembles the relation between a database management system and individual databases.

  2. 2.

    Some other combinations might be fully functional, too.

  3. 3.

    In fact, the remaining worksheets are almost never used in the field, and relatively seldom at the base camp.

  4. 4.

    Excel for Android recomputes all cells which are not elements of cycles, even if they depend on cells which are elements of cycles. Therefore our solution does not work in Excel for Android.

  5. 5.

    We would like to thank one of the anonymous reviewers, who has pointed to us the importance of this topic.

References

  1. Bradgar: iPad 2 running Excel with VBA? post #13. http://www.mrexcel.com/forum/excel-questions/607337-ipad-2-running-excel-visual-basic-applications-2.html

  2. Chintapalli, V.V., Tao, W., Meng, Z., Zhang, K., Kong, J., Ge, Y.: A comparative study of spreadsheet applications on mobile devices. Mobile Information Systems 2016 (2016). doi:10.1155/2016/9816152

    Google Scholar 

  3. CWBlack: apps that support Excel VBA. http://www.mrexcel.com/forum/general-excel-discussion-other-questions/830464-apps-support-excel-visual-basic-applications.html

  4. Flood, D., Harrison, R., Iacob, C.: Lessons learned from evaluating the usability of mobile spreadsheet applications. In: Winckler, M., Forbrig, P., Bernhaupt, R. (eds.) HCSE 2012. LNCS, vol. 7623, pp. 315–322. Springer, Heidelberg (2012). doi:10.1007/978-3-642-34347-6_23

    Chapter  Google Scholar 

  5. Flood, D., Harrison, R., Iacob, C., Duce, D.: Evaluating mobile applications: a spreadsheet case study. Int. J. Mob. Hum. Comput. Interact. (IJMHCI) 4(4), 37–65 (2012)

    Article  Google Scholar 

  6. Herzog, I.: Group and conquer - a method for displaying large stratigraphic data sets. BAR Int. Ser. 1227, 423–426 (2004). http://www.stratify.org

    Google Scholar 

  7. kgkev: VBA & Mobile devices. http://www.mrexcel.com/forum/general-excel-discussion-other-questions/930944-visual-basic-applications-mobile-devices.html

  8. QCMan: IPad and desktop. http://www.mrexcel.com/forum/excel-questions/923376-ipad-desktop.html

  9. Sikora, J., Sroka, J., Tyszkiewicz, J.: Spreadsheet as a multi-platform mobile application. In: 2015 2nd ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft), pp. 140–141. IEEE (2015). doi:10.1109/MobileSoft.2015.34

  10. Sikora, J., Sroka, J., Tyszkiewicz, J.: Strati5 - open mobile software for Harris matrix. In: Campana, S., Scopigno, R., Carpentiero, G., Cirillo, M. (eds.) Proceedings of the 43rd Annual Conference on Computer Applications and Quantitative Methods in Archaeology, vol. 2, pp. 1005–1014. Archaeopress Publishing Ltd., CAA (2016)

    Google Scholar 

  11. Sroka, J., Panasiuk, A., Stencel, K., Tyszkiewicz, J.: Translating relational queries into spreadsheets. IEEE Trans. Knowl. Data Eng. 27(8), 2291–2303 (2015). doi:10.1109/TKDE.2015.2397440

    Article  Google Scholar 

Download references

Acknowledgments

We would like to thank the anonymous reviewers of our paper and all participants of SEMS 2016, whose comments influenced this post-proceedings paper.

The research project in Ostrowite, where J. Si. tested Strati5, was financed by the National Science Centre grant based on the decision 2015/19/B/HS3/02124. The research of J. Sr. was sponsored by National Science Centre grant based on the decision 2012/07/D/ST6/02492.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jerzy Tyszkiewicz .

Editor information

Editors and Affiliations

A BFS by Spreadsheet Formulas

A BFS by Spreadsheet Formulas

Below we describe our implementation of the cyclicity test, which is based on BFS graph traversal of [11], for Strati5 with the size limits we have indicated. The way it is programmed is important for the generation of messages about cyclicity of the relation.

Initial data is located in the worksheet Contexts. The range with contexts is Contexts!A2:S200, with two contexts predefined: the top and the bottom layer. The range Contexts!I4:T200 contains the relations: in row i (i.e., the range \(\texttt {Contexts!I}i:\texttt {T}i\)) contains the list of contexts which are later than the context in cell \(\texttt {Contexts!A}i\). The formulas below are located in the worksheet Cycle test, which is hidden by default, because it is not intended to be edited by the end user.

Below we indicate ranges and formulas. Each time, if the range consists of more than one cell, we assume that the formula is entered into the top cell of the range and copied down, with automatic modifications introduced by the spreadsheet.

The formulas below ignore rows 1, 2 and 3 of the tab Contexts. The first of them contains the headers, the other two contain two predefined contexts: the sterile layer and the present surface, which are the bottom and top contexts in the earlier-than relation. We do not process them.

First we count later contexts in each row, to know how many tuples it will produce.

figure e

Now we compute the incremental sum of the tuples to be created, adding one dummy tuple for each context.

figure f

This is the total number of all tuples:

figure g

And this is the total number of all contexts:

figure h

Next we produce the number of the row in which the first coordinate of the tuple is located. The count of rows refers to the area starting in row 4 in tab Contexts, hence here we start with 1.

figure i

The following is then the number of the column from which the second element of the tuple originates:

figure j

Now we import the id of the context, which is the second element of the tuple.

figure k

At this moment, consecutive rows in columns E and G contain the tuples of the earlier-than relation we should process. In column E they are represented by row numbers, in column G by real ids. They are grouped: all tuples that share the same value of the first coordinate form a contiguous block.

The next formula searches column with ids of the contexts in sheet Contexts to find the position of the context which is the second coordinate in the present tuple:

figure l

In case of nonexistent tuples (second coordinate "") or artificial ones (second coordinate 0) we produce -1 without performing the actual search, because IF is a lazy function, otherwise MATCH does the exact search (third parameter 0) for the value of G2 in the range Contexts!A$4:A$200 and returns the position of the match.

The last formula is the key one. Rows with -1 in column H get value 1 and are the beginning of the recursion. Otherwise gives the row number of the beginning of the block of tuples with the first coordinate equal to G2 (via the value in the previous column), and the size of that block. OFFSET then creates a range, which starts a rows below and 0 columns to the right of $I$1, and spans b rows and 1 column (default value, omitted in the formula). Now 1+MAX of that range does the recursion. It is well-founded if there are no cycles in the earlier-than relation, and results in a cyclic reference in case this relation contains a cycle.

figure m

Therefore the correctness test is really the test if the above formulas produce a cyclic reference or not.

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing AG

About this paper

Cite this paper

Sikora, J., Sroka, J., Tyszkiewicz, J. (2016). Programming Communication with the User in Multiplatform Spreadsheet Applications. In: Milazzo, P., Varró, D., Wimmer, M. (eds) Software Technologies: Applications and Foundations. STAF 2016. Lecture Notes in Computer Science(), vol 9946. Springer, Cham. https://doi.org/10.1007/978-3-319-50230-4_27

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-50230-4_27

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-50229-8

  • Online ISBN: 978-3-319-50230-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics