Frank's Blog

Magic Mimi (on the Apple App Store) 

Dear Reader,

I proudly announce my first mobile app that ever made it to the App Store (Apple this time). While it is actually not the next big thing (this is yet to come), it nevertheless served as a good test on getting an app approved and published in the Apple App Store. But let’s begin step-by-step.

What is Magic Mimi? Well, Magic Mimi is a little language writing practice/primer app for your kid that just entered the school. Actually, my little one asked me for a personal app with some artworks made by her and her (older) sister. So I came up with the idea of creating a practice app that uses Siri to speaks out arbitrary words from a configurable word list. My little one then has to practice typing them in correctly. If she succeeds, she gets a flower. If not, she gets at least a hint. I enhanced the idea a little bit by adding support for multiple word lists as well as English, German, and French words (which are spoken via the corresponding Siri voice). I also internationalized the app into German and English. Take a look yourself:



If you want to try it out for yourself, just search the App Store for „Magic Mimi“ or go to https://itunes.apple.com/us/app/magic-mimi/id1063151668.

The lessons learned from submitting something to the Apple App Store: Be sure to check the review guidelines first - there are written in a very informal style: https://developer.apple.com/app-store/review/guidelines/. Actually, I already got hooked by the first four bullet points of the summary:
  • „We have lots of kids downloading lots of Apps. Parental controls work great to protect kids, but you have to do your part too. So know that we're keeping an eye out for the kids.“. Ok, let’s keep this in mind—-Magic Mimi is an App for kids. No advertisement in so far (and I will make sure to keep it out).
  • „We have over a million Apps in the App Store. If your App doesn't do something useful, unique or provide some form of lasting entertainment, or if your app is plain creepy, it may not be accepted.“. Wait a minute, is there really no other primer app in the store (or dozens)? I checked and checked but couldn’t figure the answer so far (from the point of view of a Mathematician ;-)
  • „If your App looks like it was cobbled together in a few days, or you're trying to get your first practice App into the store to impress your friends, please brace yourself for rejection. We have lots of serious developers who don't want their quality Apps to be surrounded by amateur hour.“. Ok. I definitely spend a lot of hours into testing, internationalization, and others things but in the end all the artwork were made by my kids—-for kids. No professional artists for far.
  • „We will reject Apps for any content or behavior that we believe is over the line. What line, you ask? Well, as a Supreme Court Justice once said, "I'll know it when I see it". And we think that you will also know it when you cross it.“. This is a really though one that I think can kill every app. <(li>

While all of this seemed very hard to overcome, the most frustrating experience publishing an app in the Apple App Store is the time it needs to get checked. I submitted Magic Mimi on a Sunday and it was in review for a couple of minutes just seven days later! Unfortunately, the review just took a couple of minutes until someone (or maybe just a script) figured that I did not link directly to a privacy statement webpage (which is required for apps for kids). I actually created the privacy statement and linked it on the homepage but only referenced the home page directly. Fixing this error took me three seconds. But then I thought about it a couple of minutes longer: What if every feedback loop involves one week? So I carefully checked every detail of the many meta information fields again.

Finally I held my breath, clicked submit again and prayed that there will not be any issue with the app itself (just see the other bullet points from Apple’s guidelines). Good news: I received the next feedback after just five days instead of seven! And the really good news: Magic Mimi got approved and you can finally download it to your phone!

[ view entry ] ( 87 views ) permalink $star_image$star_image$star_image$star_image$star_image ( 3 / 97 )
Thingbench - A Virtual Device Workbench 

Tired of hooking up an Arduino to test another IoT framework? Or working inside a VM without actual access to hardware? Don't worry anymore, Thingbench helps you get through it.

ThingBench is an interactive, visual device workbench, where you can have multiple boards with different virtual devices attached. As of now, we ship with one virtual device---a lamp! You can switch it on and off, change the color and size or position multiple lamps on the board. (If you really ever need something else, this is all open source---feel free to fork and send a pull request!)



Here's how to browse your things:

GET http://localhost:9099/things

This gives you the list of current boards (shown as tabs in the workbench) and virtual devices attached to it:

<things>
<board name="Demo" id="1692623602">
<thing name="Lamp 1" id="1253071236" link="http://127.0.0.1:9099/things/1692623602/1253071236"/>
<thing name="Second Lamp" id="1142253466" link="http://127.0.0.1:9099/things/1692623602/1142253466"/>
</board>
</things>

To browse the properties of a thing go to one of the shown URLs (here Lamp1):

GET http://127.0.0.1:9099/things/1692623602/1253071236

This gives you the current state of the devices:

<thing>
<property name="shadow" value="0"/>
<property name="color_background" value="-3355648"/>
<property name="x" value="347"/>
<property name="width" value="100"/>
<property name="y" value="135"/>
<property name="text" value="Lamp 1"/>
<property name="stereotype" value=""/>
<property name="power" value="OFF"/>
<property name="#id" value="1253071236"/>
<property name="#type" value="thingbench.ThingsModel.Lamp"/>
<property name="height" value="140"/>
</thing>

You can easily PUT one or all properties to set new values (like switching the lamp on):

PUT http://127.0.0.1:9099/things/1692623602/1253071236

with the body

<thing>
<property name="power" value="ON"/>
</thing>

You can easily integrate the corresponding HTTP calls in any IoT framework you like. If you need anything else than a simple lamp, please feel free to browse the code and add your own virtual devices. The Thingbench is based on Processeditor (http://frapu.de/code/processeditor/index.htm), which makes it easy to create your own devices with a visual representation.

If you feel that this is the real thing---or just see the code example in color (sorry for my plain old blogging tool)---go straight to the Github project page: http://github.com/frapu78/thingbench.

If you're really interested, either fork or just drop me a mail!
[ view entry ] ( 916 views ) permalink $star_image$star_image$star_image$star_image$star_image ( 3 / 252 )
Enterprise IoT 

We all heard about the Internet of Things and Services. While many of you might have heard about interesting startups and lot of new developments in the area of Smart Homes, I'm really interesting in what the Internet of Things and Services means to traditional enterprises:



Actually, I'm looking into this topic for the last couple of years. Today, I'm really happy to be part of an ongoing experiment in Open Publishing that tries to capture the recent developments in the area of Enterprise IoT. The project was initiated and is driven by Dirk Slama, renowned expert and author of Enterprise BPM and Enterprise SOA. Besides Dirk, I'm very happy to work with Jim Morrish and Rishi Bhatnagar as co-authors. While Jim has a strong background as an M2M and IoT analyst, and hence brings in a quite independent view, Rishi is responsible for Digital Enterprise Services at Tech Mahindra and brings in the point of view from an international IT solution provider.

Besides a lot of interesting case studies and interviews from different application domains, we introduce the Ignite| IoT Methodology made up of parts on strategy execution as well as a solution delivery. While the former focuses on defining and implementing an IoT strategy from the point of view of a large enterprise organization, the latter provides project templates, checklists and solution architecture blueprints to capture IoT best practices.

Well, it's time for you to stop reading here and dive right into the Overture of Enterprise IoT. Please note that---due to it's ongoing nature---the page is alive and some parts will be refined over time!
[ view entry ] ( 1561 views ) permalink related link $star_image$star_image$star_image$star_image$star_image ( 3.1 / 506 )
Wallpapers 

I recently took some time to finish the initial wallpaper photographies page. If you like---just as I do---using nice photographs as wallpapers, please feel free to check this page.

Just to test you: Any idea of this one?



What about this one?


[ view entry ] ( 921 views ) permalink $star_image$star_image$star_image$star_image$star_image ( 3 / 525 )
Business Models in the Internet of Things 

As you might have seen, I'm involved in the shift from Business Process Management to the Internet of Things and Services (IoTS) in the recent years. While the IoTS has many interesting aspects to investigate, one of particular concern is the creation of new business models. In particular, we are interested in investigating whether business models in the IoTS have special characteristics.

A student of mine, Stephan Degen, investigated this particular question and came up with interesting results as well as a guideline for an innovation workshop in the area of the Internet of Things:

"The Internet of Things (IoT) has begun to attract a great deal of attention, not only in the world of information technology, but in other industries as well. In the Internet of Things any physical object can be part of the Internet. The physical world merges with the digital world. The vision of the connection of everyday objects with the Internet is almost unlimited as far as technical and economic opportunities for businesses are concerned. Due to the technological advances in recent years, this vision is technically feasible, but still only exists in a limited number of ways for customers. One reason for this may be the large number of possibilities.

In order to offer more for consumers and increase the value to the Internet of Things, new business models need to be developed. Business models help to illustrate, how a company can create value for themselves and the customer. Furthermore, companies can differentiate themselves among competitors by developing new business models.

Therefore, this thesis presents a method for creating business models for the Internet of Things. The aim of the method is to develop a business model, based on an idea, which considers the specificities of the Internet of Things. Consequently, the essential part of this thesis is the presentation of an approach for the illustration of business models in the Internet of Things, the presentation of a procedural model for creating business models in the Internet of Things and the presentation of a concept for the realization of this procedural model within a workshop. These key points are based on the development of specificities of business models in the Internet of Things and the comparison of existing approaches for mapping business models."

--- Abstract from the thesis by Stephan Degen

I highly recommend taking a look at this very interesting and readable thesis. You can download the full thesis here (German only).

Finally, I would like to thank Bosch Software Innovations for funding the research!

[ view entry ] ( 633 views ) permalink $star_image$star_image$star_image$star_image$star_image ( 3 / 608 )

| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Next> Last>>