12.07.2015 Views

streamspin.com - Intranet - Department of Computer Science: Login

streamspin.com - Intranet - Department of Computer Science: Login

streamspin.com - Intranet - Department of Computer Science: Login

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Mobile S<strong>of</strong>tware Technologies(SW8)StreamspinHua Lu<strong>Department</strong> <strong>of</strong> <strong>Computer</strong> <strong>Science</strong>Aalborg UniversitySpring 2011


Agenda• Streamspin Overview• Roles and Architecture• Examples <strong>of</strong> Services2


Background• Combines Web 2.0 and Mobile internet“To create data management technology that enablessites that are for mobile services what YouTube is forvideo”.• Challenges• Develop, deploy, and share mobile services through a uniformplatform• Enable easy mobile service creation• Offer location-based functionality• Be an open, extensible, and scalable service deliveryinfrastructure3


What is Streamspin?• A platform for delivering and receiving location-awaremobile services• The glue that binds service providers and end-users.• Service providers can focus on content.• Youtube for Mobile Services4


What’s the purpose <strong>of</strong> Streamspin?• Service discovery• Service integration• Works (well!) everywhere• And a platform for ongoing research within tracking, routeprediction, location privacy, indoor positioning, etc…5


The problem <strong>of</strong> service discovery• How does a user find available LBSs?Visitnordjylland.dk- A regional attempt <strong>of</strong>unifying activities, attractions,events, etc. in NorthernJutland…but there is nothing similar inother parts <strong>of</strong> Denmark.6


The problem <strong>of</strong> service integration• A lot <strong>of</strong> interesting LBSs might be available• But juggling them all is impossible…• Goodbye ”niche” applications7


First steps to use Streamspin1. Sign-up in the Streamspin website<strong>streamspin</strong>.<strong>com</strong>2. Subscribe to all the services thatyou like, or create your ownStreamspin webpage3. Download and install theStreamspin application for yourmobile4. Start receiving contentMobile device8


Example: FriendFinder (I)Streamspin websiteAliceFriendFinderSubscribeFriendFinder websiteFriendFinderFriendFinderWel<strong>com</strong>e Alice!Please enter your friends:• Bob• Charlie• Lisa• ...9


Example: FriendFinder (II)LisaAlice10


Example: FriendFinder (II)LisaFriendFinder: friend nearbyFriendFinderAliceYour friend Lisais nearby11


Develop a location-aware service• Without Streamspin:• Create a server to send out content and receive locations from theclients.• Create a mobile client capable <strong>of</strong> <strong>com</strong>munication with your server.• Create GPS <strong>com</strong>ponent for mobile device.• Handle disconnects and GPS failure on device.• Create integration with existing data infrastructure.12


Streamspin <strong>of</strong>fers• No mobile client development – simply send the contentusing web-services.• User locations pushed directly to call-back web service orweb site.• Just specify user id, call-back url and threshold.• All client <strong>com</strong>munication handled by Streamspin.• Scalable and distributable infrastructure.• No client update – at least not something the servicedeveloper must handle.13


Agenda• Streamspin Overview• Roles and Architecture• Examples <strong>of</strong> Services14


APIsWeb servicesDBWebsiteService ProviderContent ProviderService Hosting ProviderStreamspin serverServiceconsumersServiceproviderService3Service4Service5Streamspin serverMatchingcenterContententryKernelOnlineserverDistributioncenterServiceproviderService1Service2ContentproviderService6Content provider15


APIsWeb servicesDBWebsiteService ProviderContent ProviderService Hosting ProviderStreamspin serverServiceconsumersServiceproviderService3Service4Service5Streamspin serverMatchingcenterContententryKernelOnlineserverDistributioncenterServiceproviderService1Service2ContentproviderService6Content provider16


The Streamspin Website• This is where consumers and service providers startinteracting with Streamspin:• create account,• enter pr<strong>of</strong>ile information,• enter friends,• enter locations• ...• Subscribe and unsubscribe to services17


APIsWeb servicesDBWebsiteService ProviderContent ProviderService Hosting ProviderStreamspin serverServiceconsumersServiceproviderService3Service4Service5Streamspin serverMatchingcenterContententryKernelOnlineserverDistributioncenterServiceproviderService1Service2ContentproviderService6Content provider18


The Streamspin Kernel19


APIsWeb servicesDBWebsiteService ProviderContent ProviderService Hosting ProviderStreamspin serverServiceconsumersServiceproviderService3Service4Service5Streamspin serverMatchingcenterContententryKernelOnlineserverDistributioncenterServiceproviderService1Service2ContentproviderService6Content provider20


API (I)ClassServicesMethodCreateService(userID, groupID, name, description, subscriptionPassword,allowMultiSubscription, url, startServiceURL ,requiresSetup, isPublic, key, tags, serviceScript,serviceScriptUrl)CreateServiceCopy(Php: getSID)(addToTitle, editorID, isPublic, serviceID, userID, url,useParent, serviceScript, serviceScriptUrl, key)DeleteService(serviceId, key)SubscribeUserToService(serviceId, providerID, userToSubscribeID, key)SubscribeAndApproveSubscriptionOfUserToService(serviceId, providerID, userToSubscribeID, key)* You have to be an approved user to do thishttp://documentation.<strong>streamspin</strong>.<strong>com</strong>/21


API (II)ClassUserLocationRequestPublisherContentKeyMethodAddRequest(userID, serviceID, threshold (*), callBackURL,key)CancelRequest(userID, serviceID, callBackURL, key)PublishContent(content, serviceID, key)PublishContentToUser(content, serviceID, int[] userIds, key)(not included in the online .Net documentation)Encapsulates content that is to be sent to theStreamspin serverEncapsulates a secret Streamspin key(*) how far a user is allowed to move before the server must notify the service <strong>of</strong> the newlocation. Examples: 10 meters (for games, attractions), 50 meters (for shopping), 10,000meters (weather)http://documentation.<strong>streamspin</strong>.<strong>com</strong>/22


APIsWeb servicesDBWebsiteService ProviderContent ProviderService Hosting ProviderStreamspin serverServiceconsumersServiceproviderService3Service4Service5Streamspin serverMatchingcenterContententryKernelOnlineserverDistributioncenterServiceproviderService1Service2ContentproviderService6Content provider23


The Streamspin Client• The Streamspin client is to be installed in a mobile device(Windows Mobile).• Log in using username and password.Window displays thecontent <strong>of</strong> themessagesThe content can behtml-text or a URL.In this case, the URLwill be opened.Send messages t<strong>of</strong>riends that areonlineSmall windowdisplays headers <strong>of</strong>messages.Menu to start-stopservices, changelocation...24


Delivering location-based services25


Agenda• Streamspin Overview• Roles and Architecture• Examples <strong>of</strong> Services26


Service Creation• Streamspin- or user-provided templates are available forservice creation• Point-and-click service creation• Example templates: tour builder, e-mail, RSS push• Streamspin-provided web services are available forcreating custom services and templates• Service creation• Content publishing• Current location context for a user, using call back• Accessible from all web-service enabled languages• .Net, Java and PHP APIs for custom service creation andpublishing27


The Streamspin Service DirectoryServices are published in the Streamspinservice directory from where they can besubscribed to by other users.28


Example: Tour BuilderA mobile tour associates text andimages with locations – thecontent is pushed to subscriberswhen they get close to thelocations29


Example: Tour BuilderScreenshots from the phone <strong>of</strong> a user who hassubscribed to the “Inst. 16” TourThe user approachesthe bus stopThe user approachesthe CS departmentThe user approachesthe canteen30


Example: Interactive shopping listHosting providerShoppingcall back URLService threshold:30 metersSend locationStreamspinserverComputationSend listIs there a shop nearby? No Is there a shop nearby? Yes! FøtexSendlocationSendlocationComputationMovement: < 30 m.Movement: > 30 m.Send locationYou need:2 Milk5 Bananas1 Lettuce12 Eggs31


Service types focused in location• Transportation-related services• Road pricing generalized: payment based on where, when, andhow much one drives; taxes, insurance• Spatial pay per use, or metered services• “Safety”-related services• Warnings about slow-moving traffic or icy or slippery roadconditions ahead• Monitoring <strong>of</strong> traffic <strong>of</strong>fenders• Games and ”-tainment” (edu-, info-, enter-) services• Treasure hunting (geocaching)• Paintball (Botfighters)• Catch the monster (Raygun)• Tell me about that!32


Summary• Streamspin <strong>com</strong>bines Web 2.0 and Mobile internet“To create data management technology that enablessites that are for mobile services what YouTube is forvideo”.• You can use it as a service subscriber, or a servicepublisher/creator• Sharing mobile service/contents among mobile users isthe driving idea33


Acknowledgement• Some slides and contents are created or shared by mycolleagues• Carmen Ruiz Vicente• Rene Hansen34

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!